7
我試圖改變FAB內根據按鈕狀態的圖標圖標顏色:更改圖標的顏色W/COMPAT庫
<android.support.design.widget.FloatingActionButton
android:id="@+id/search_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="16dp"
android:tint="@color/add_button_tint"
android:src="@drawable/ic_add_black_24dp" />
add_button_tint.xml:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true"
android:color="@color/white" />
<item android:color="@color/black"/>
</selector>
這在API> 23中效果很好,但是在舊版本的android中,它會引發異常。
這裏就是我弄糊塗:
了android:支持FAB內的色調生命財產,如果它只是一個顏色,即使工作在較舊的Android版本。 IE這部作品在我測試的所有版本:
android:tint="@color/black
但是當我使用的選擇沒有。我究竟做錯了什麼?是否有可能根據Android舊版本中的FAB狀態更改圖標顏色?
你嘗試在代碼通過FloatingActionButton的setImageTintList這樣做()? – CSmith
setImageTintList()僅在api 21和更高版本上可用。我需要一個appcompat方式來爲圖標着色。 – lostintranslation
我覺得這是一個錯誤或疏忽,因爲FAB沒有擴展android.support.v7.widget.AppCompatImageView,而是擴展了非appcompat版本。這看起來不錯,因爲FAB在widget支持庫中。 – lostintranslation