2016-09-18 3 views
0

私はベクトル描画可能を使用してのImageButtonための色合いを適用しようとしている:互換モードでvector drawableにtintを使用するにはどうすればよいですか?

<android.support.v7.widget.AppCompatImageButton 
      android:id="@+id/flashlight_button" 
      app:srcCompat="@drawable/ic_flash_off_black_24dp" 
      android:tint="@color/icon_states_color" 
      /> 

これはロリポップ+を動作しますが、キットカットの上にクラッシュします。

KitListのColorList色合いはどのようにするべきですか?

答えて

0

こんにちは、プログラムで色合いをイメージボタンに追加して、ロリポップの下にあるかどうかを確認してから、下のように動くようにすることができます。

documentationによるとandroid:backgroundTintに関連する方法がsetBackgroundTintList(ColorStateList list)

で更新

色状態リストリソースの作成方法を知っているこのlinkに従ってください。

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item 
     android:color="#your_color_here" /> 
</selector> 

次いでcontextInstanceがAppCompart

btnTag.setSupportButtonTintList(ContextCompat.getColorStateList(Activity.this, R.color.colorPrimary)); 

このWを試しを用いContext


のインスタンスである

setBackgroundTintList(contextInstance.getResources().getColorStateList(R.color.your_xml_name)); 

を使用してロードいいえ、これがあなたを助けることを願っています。

1

できます。

いますが、それ以外の場合はLのためにのみ機能します、色(..lame)のため@color参照を使用することはできません+

<vector xmlns:android="http://schemas.android.com/apk/res/android" 
    android:width="24dp" 
    android:height="24dp" 
    android:viewportWidth="24.0" 
    android:viewportHeight="24.0"> 
<path 
    android:fillColor="#FFAABB" 
    android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zm-6,0C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/> 

check this link

+0

愚かな言及とそれらで動作しません。時間が無駄になった。ありがとうございました ! – AndreiBogdan

0

アンドロイド:仕事とベクトル描画可能内の色合い。だからアンドロイド:レイアウトの色合いは避けるべきです。

関連する問題