Próbuję zmienić kolor ikony ikony obrębie FAB na podstawie stanu przycisku:Zmień ikonę kolor FAB na podstawie stanu w/COMPAT bibliotekami
<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>
Działa to znakomicie w interfejsie API> 23, jednak w starszych wersjach Androida powoduje wyjątek.
Oto gdzie mogę się mylić:
Android: życie własności odcień w ramach wsparcia FAB i działa, jeśli jej tylko kolorem, nawet w starszych wersjach Androida. IE działa we wszystkich testowanych wersjach:
android:tint="@color/black
Ale kiedy używam selektora, nie działa. Co ja robię źle? Czy można zmienić kolor ikony na podstawie stanu dla FAB w starszych wersjach Androida?
próbowaliście robić to w kodzie poprzez setImageTintList FloatingActionButton za()? – CSmith
setImageTintList() jest dostępna tylko w api 21 i nowszych. Potrzebuję aplikacji, aby odcień ten kolor ikony. – lostintranslation
Mam wrażenie, że to błąd lub niedopatrzenie, ponieważ FAB nie rozszerza android.support.v7.widget.AppCompatImageView, zamiast tego rozszerza wersję bez aplikacji. Co wydaje się złe, ponieważ FAB znajduje się w bibliotece wsparcia dla widgetów. – lostintranslation