我有一个像这样声明的imageview:
<ImageView
android:id="@+id/login_settings"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:tint="@drawable/cl_button_text"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/login_show_password"
app:srcCompat="@drawable/ic_settings" />
和可绘制的
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false"
android:color="@color/colorButtonDisabled"/>
<item android:color="@color/colorButtonNormal"/>
</selector>
这适用于较新的设备
当我在Android 4.4模拟器上运行时,我收到错误:
Android.Views.InflateException: Binary XML file line #1: Error inflating class ImageView ---> Java.Lang.NumberFormatException: Invalid int: "res/drawable/cl_button_text.xml"
当我将视图更改为:
时 <ImageView
android:id="@+id/login_settings"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:tint="@color/colorButtonNormal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/login_show_password"
app:srcCompat="@drawable/ic_settings" />
它正常工作(根据imageview的状态,色调不会改变)
我能做些什么吗?最好是从xml而不是以编程方式?
答案 0 :(得分:0)
正如您在docs
中所看到的 android:tint
可以是“#rgb”,“#arbb”,“#rrggbb”或“#aarrggbb”形式的颜色值。
所以你不能在xlm中使用drawable资源
您可以使用this sollution
进行尝试