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