私はそこにいくつかの答えがあることを知っていますが、私は成功していないそれらを試してみました。 color.xml
ファイルの定義済みのリソースカラーを使用して読み込まれたときに、アイコンの色を変更するコードを以前に作っていました。異なるフレーバーの場合、私は異なるcolor.xml
ファイルを持っています。私はcolor.xml
ファイルがピックアップされ、他の色が正常に使用されているので使用されていることを知っています。私が言ったように、これは以前はEclipseから取り組み、Antビルドを使用していました。しかし、私はいくつかのライブラリをアップグレードしています。そのため、この問題を引き起こす可能性があると思われます。見知らぬ人でさえ、Android Studioがデバッグで使い果たされたときに動作しますが、Gradle
を使用してビルドした場合は動作しません。画像の色をプログラムで変更するAndroid
ここで以前働いていたコード(setColorFilterが犯人である疑いがある?)です:
ImageButton btnYes = new ImageButton(mContext);
btnYes.setPadding(0, 15, 15, 15);
btnYes.setTag(1);
Drawable yesDrawable = Utilities.getAndroidDrawable("form_ratingyes", mContext);
btnYes.setImageDrawable(yesDrawable);
btnYes.setFocusableInTouchMode(false);
btnYes.setBackgroundColor(Color.WHITE);
btnYes.setColorFilter(ContextCompat.getColor(mContext,R.color.rating_off));
color.xmlファイルは次のようになります。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Bullet Icon Color for (Forms, In Progress, Sync and Submitted Status)-->
<color name="bullet">#0378AF</color>
<!-- Navigation Bar Color-->
<color name="navigation_bar">#F68A33</color>
<!-- Menu Icon Color-->
<color name="menu_tint">#F68A33</color>
<color name="form_icons">#F68A33</color>
<!-- Rating Field Button Color -->
<color name="rating_on">#F68A33</color>
<color name="rating_off">#A2AAAD</color>
<!-- Action Button Color -->
<color name="login_button_default">#F68A33</color>
<color name="login_button_selected">#B0540B</color>
</resources>
と画像のように見えるが、これは:
基本的に透明な "Y"と外側の円を持つ白い円です。アイデアは、白が色 "rating_on
"に置き換えられることです。
実行している場合、正しくは次のようになります。容疑者が、私はそれを追加することができますGradleのファイルですが、Androidのメーカーが構築するためにそれを使用しない場合は
デバッグ版も?
私は、アイコンの色を読み込むためにさまざまな方法を試しましたが、すべて成功しませんでした。また、setColorFilter
の電話の前に.getDrawable()
とタックを入れてみました。残念ながら、Android Studioでは正常にデバッグすることができません。実際のAPKを生成する場合にのみ失敗します。