スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
このエントリーをはてなブックマークに追加

[Android]ProgressBarの見た目をdrawableで作成する

下のようなものを作ります(パーセント表示はTextViewが上に乗ってるだけです)
[Android]ProgressBarの見た目をdrawableで作成する3


名前は何でもよいが、下記のようなdrawableファイルを追加する。

<?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>
<gradient
android:startColor="#FFFFFFFF"
android:endColor="#FFFFFFFF"
android:angle="270" />
<corners android:radius="3dp" />
</shape>
</item>

<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<solid android:color="#88f4a523" />
<corners android:radius="3dp" />
</shape>
</clip>
</item>

<item android:id="@android:id/progress">
<clip>
<shape>
<solid android:color="#f4a523" />
<corners android:radius="3dp" />
</shape>
</clip>
</item>
</layer-list>


そうしたら、layoutファイル上にProgressBarを配置します(下図)
[Android]ProgressBarの見た目をdrawableで作成する1

配置したProgressBarのProgressDrawable項目に対して先程作成したdrawableファイルを適用します。
[Android]ProgressBarの見た目をdrawableで作成する2

続きを読む

スポンサーサイト
このエントリーをはてなブックマークに追加

[Android]Bitmapの画像データを合成する

//重ね順はcurrentBitmapが下、blendBitmapが上です
private Bitmap blendBitmap(Bitmap currentBitmap, Bitmap blendBitmap) {
int width = currentBitmap.getWidth();
int height = currentBitmap.getHeight();
Bitmap new_bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(new_bitmap);
canvas.drawBitmap(currentBitmap, 0, 0, (Paint)null); // image, x座標, y座標, Paintイタンス
int disWidth = (width - blendBitmap.getWidth()) / 2;
int disHeight = (height - blendBitmap.getHeight()) / 2;
canvas.drawBitmap(blendBitmap, disWidth, disHeight, (Paint)null); // 画像合成

return new_bitmap;
}
このエントリーをはてなブックマークに追加

tag : Android

[Android]Bitmapの画像データに色をつける

//Bitmapデータをmutable状態にするので、生成時はimutableでもOKです。
private Bitmap setColor(Bitmap bitmap, int color) {
//mutable化する
Bitmap mutableBitmap = bitmap.copy(Bitmap.Config.ARGB_8888, true);
bitmap.recycle();

Canvas myCanvas = new Canvas(mutableBitmap);

int myColor = mutableBitmap.getPixel(0,0);
ColorFilter filter = new LightingColorFilter(myColor, color);

Paint pnt = new Paint();
pnt.setColorFilter(filter);
myCanvas.drawBitmap(mutableBitmap,0,0,pnt);

return mutableBitmap;
}


//使用例
//hoge_image画像を、赤色に変化させます
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.hoge_image);
bitmap = this.setColor(bitmap,Color.argb(255,255,0,0));



参考URL1:Converting a Drawable to a Bitmap to change the color of a Marker in Google Maps Android API v2
参考URL2:AndroidのImmutableなBitmapをMutableなやつに変換する方法3つ!
参考URL3:Colorクラスでの色指定
このエントリーをはてなブックマークに追加

The following classes could not be found: - android.support.v4.widget.DrawerLayout (Fix Build Path, Edit XML, Create Class)

Android Studioでドロワーを使う場面があり、プロジェクトを生成時にこういうエラーがでました。
ドロワーエラー1

これを解決するにはgradleを書き換える必要があります。
app以下に入っているbuild.gradleを開きます。
そしたら、dependencies項目内に次のように追記します。

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:support-v4:19.1.+' //これを書き加える
}



参考URL1:Could not find class 'android.support.v4.widget.SwipeRefreshLayout' [duplicate]
参考URL2:Gradle DSL method not found: 'compile()'
参考URL3:第60章 ビルドロジックの体系化
このエントリーをはてなブックマークに追加

[Android]最初から開いているナビゲーションドロワー(NavigationDrawer)を閉じる

そもそもなぜ最初に開いているかというと、「始めに開いていることでユーザに閉じる処理を行わせ、閉じ方を学習させる」というAndroid特有のデザインパターンなので、この処理が付いています。
(参考:Android Design 翻訳 by チームEGG - Navigation Drawer)

今回はこの処理を無効にします。
NavigationDrawerのプロジェクトを作成します。
[Android]最初から開いているナビゲーションドロワー(NavigationDrawer)を閉じる_2
[Android]最初から開いているナビゲーションドロワー(NavigationDrawer)を閉じる_1

作成したプロジェクトには、「NavigationDrawerFragment」というjavaクラスがあるので、このファイルを編集します。
onCreateメソッド内の次のコードを編集します。
//編集前
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getActivity());
mUserLearnedDrawer = sp.getBoolean(PREF_USER_LEARNED_DRAWER, false);

//編集後
// SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getActivity());
// mUserLearnedDrawer = sp.getBoolean(PREF_USER_LEARNED_DRAWER, false);
mUserLearnedDrawer = true;
このエントリーをはてなブックマークに追加
Translation


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。
プロフィール

チーズくん

Author:チーズくん
個人的メモをただ羅列しています。
twitter:@cheese1038

バロメーター
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。