2014年8月15日金曜日

【アプリ開発】画像ファイルなしで背景画像を作る②

以前の記事「【アプリ開発】画像ファイルなしで背景画像を作る①」で、プログラムで背景を描画するサンプルアプリを紹介しましたが、
そのアプリを更新して今回、背景の描画を3つ追加しました(^0^)/

前回同様、今回もその背景のサンプルコードとスクリーンショットを載せていきます(´・ω・`)
画像の容量を節約しつつクールな背景画像として利用できればと思いますので、
参考にオリジナルの背景としてアプリにご利用いただければうれしいです☆

アプリ


















まずは、再度サンプルアプリを紹介します。
今回紹介する背景も追加してアップデート済みですので、まずはお試しください(^0^)/♪



背景パターン(今回追加分)

前回の7つの背景パターンに加えて、以下の3つの背景パターンをアプリに追加しました。

 ・四角形の幾何学模様(モノクロ)
 ・多数の四角形の幾何学模様(モノクロ)  
 ・多数の線と円の統一色の模様(1色、半透明)





四角形の幾何学模様



背景名の命名は適当にそれっぽい名前をつけていますので、良い名前があればコメントください(^^;
四角形を90度回転させながら段々小さく描画していきました。
色は交互に白黒で変化させています。
 // 四角形の幾何学模様
 public void DrawBackground008(Canvas csCanvas)
 {
  Paint csPaint = new Paint();
  csPaint.setAntiAlias(true);
  RectF sRect = new RectF();
  for(int xy=320; xy>0; )
  {
   csPaint.setColor(Color.BLACK);
   sRect.set(160-xy/2, 160-xy/2, 160+xy/2, 160+xy/2);
   csCanvas.drawRect(sRect, csPaint);
   xy/=Math.sqrt(2);
   csCanvas.rotate(45, 160, 160);
   csPaint.setColor(Color.WHITE);
   sRect.set(160-xy/2, 160-xy/2, 160+xy/2, 160+xy/2);
   csCanvas.drawRect(sRect, csPaint);
   xy/=Math.sqrt(2);
   csCanvas.rotate(45, 160, 160);
  }
 }


2014年8月14日木曜日

【アプリ開発】ProgressBarの色

今回プログレスバーの色の設定で少し戸惑ったため処理方法を書き留めておきます。


ProgressBarの色の設定方法

プログレスバーの色を変更して表示するための方法です。

 <!-- 読込中表示プログレスバー -->
 <ProgressBar
         android:id="@+id/loadingProgress"
         style="?android:attr/progressBarStyleHorizontal"
         android:progressDrawable="@drawable/ic_progress_green"
         android:layout_width="match_parent"
         android:layout_height="3dp"/>


<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
 <item android:id="@android:id/background">
     <shape>
  <corners android:radius="5dip" />
  <gradient
   android:startColor="#000000"
   android:centerColor="#000000"
   android:centerY="0.5"
   android:endColor="#000000"
   android:angle="270"
  />
  </shape>
 </item>
 <item android:id="@android:id/progress">
  <clip>
  <shape>
  <corners android:radius="5dip" />
  <gradient
   android:startColor="@color/holo_green_dark"
   android:centerColor="@color/holo_green_light"
   android:centerY="0.5"
   android:endColor="@color/holo_green_dark"
   android:angle="270"
  />
  </shape>
  </clip>
 </item>
</layer-list>




ProgressBarのアニメーション表示

プログレスバーを読み込み中のようにアニメーション表示するための方法です。


     <!-- 読込中表示プログレスバー -->
     <ProgressBar
         android:id="@+id/loadingProgress"
         android:layout_width="match_parent"
         android:layout_height="3dp"
         android:indeterminateDrawable="@drawable/ic_progress_indeterminate_green" />




<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="false" >
    <item android:duration="200">
        <shape android:shape="rectangle" >
            <gradient
                android:angle="180"
                android:centerY="1.0"
                android:endColor="@color/holo_green_dark"
                android:centerColor="@color/holo_green_light"
                android:startColor="@color/holo_green_dark"
                android:type="linear" />
        </shape>
    </item>
    <item android:duration="50">
        <shape android:shape="rectangle" >
            <gradient
                android:angle="180"
                android:centerY="0.8"
                android:endColor="@color/holo_green_dark"
                android:centerColor="@color/holo_green_light"
                android:startColor="@color/holo_green_dark"
                android:type="linear" />
        </shape>
    </item>
    <item android:duration="50">
        <shape android:shape="rectangle" >
            <gradient
                android:angle="180"
                android:centerY="0.6"
                android:endColor="@color/holo_green_dark"
                android:centerColor="@color/holo_green_light"
                android:startColor="@color/holo_green_dark"
                android:type="linear" />
        </shape>
    </item>
    <item android:duration="50">
        <shape android:shape="rectangle" >
            <gradient
                android:angle="180"
                android:centerY="0.4"
                android:endColor="@color/holo_green_dark"
                android:centerColor="@color/holo_green_light"
                android:startColor="@color/holo_green_dark"
                android:type="linear" />
        </shape>
    </item>
    <item android:duration="50">
        <shape android:shape="rectangle" >
            <gradient
                android:angle="180"
                android:centerY="0.2"
                android:endColor="@color/holo_green_dark"
                android:centerColor="@color/holo_green_light"
                android:startColor="@color/holo_green_dark"
                android:type="linear" />
        </shape>
    </item>
    <item android:duration="70">
        <shape android:shape="rectangle" >
            <gradient
                android:angle="180"
                android:centerY="0.0"
                android:endColor="@color/holo_green_dark"
                android:centerColor="@color/holo_green_normal"
                android:startColor="@color/holo_green_dark"
                android:type="linear" />
        </shape>
    </item>

    <item android:duration="100">
        <shape android:shape="rectangle" >
            <gradient
                android:angle="180"
                android:centerY="0.2"
                android:endColor="@color/holo_green_dark"
                android:centerColor="@color/holo_green_normal"
                android:startColor="@color/holo_green_dark"
                android:type="linear" />
        </shape>
    </item>
    <item android:duration="100">
        <shape android:shape="rectangle" >
            <gradient
                android:angle="180"
                android:centerY="0.4"
                android:endColor="@color/holo_green_dark"
                android:centerColor="@color/holo_green_normal"
                android:startColor="@color/holo_green_dark"
                android:type="linear" />
        </shape>
    </item>
    <item android:duration="100">
        <shape android:shape="rectangle" >
            <gradient
                android:angle="180"
                android:centerY="0.6"
                android:endColor="@color/holo_green_dark"
                android:centerColor="@color/holo_green_normal"
                android:startColor="@color/holo_green_dark"
                android:type="linear" />
        </shape>
    </item>
    <item android:duration="100">
        <shape android:shape="rectangle" >
            <gradient
                android:angle="180"
                android:centerY="0.8"
                android:endColor="@color/holo_green_dark"
                android:centerColor="@color/holo_green_normal"
                android:startColor="@color/holo_green_dark"
                android:type="linear" />
        </shape>
    </item>
    <item android:duration="100">
        <shape android:shape="rectangle" >
            <gradient
                android:angle="180"
                android:centerY="1.0"
                android:endColor="@color/holo_green_dark"
                android:centerColor="@color/holo_green_normal"
                android:startColor="@color/holo_green_dark"
                android:type="linear" />
        </shape>
    </item>

</animation-list>