gpt4 book ai didi

android - 如何使用可绘制的颜色选择器为 imageview pre-lollipop 着色

转载 作者:行者123 更新时间:2023-11-29 02:34:31 24 4
gpt4 key购买 nike

我有一个像这样声明的 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"

当我将 View 更改为:

    <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 而不是以编程方式?

最佳答案

正如您在 docs 中看到的那样

android:tint

May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

所以你不能在xlm中使用drawable资源

你可以用 this sollution 试试

关于android - 如何使用可绘制的颜色选择器为 imageview pre-lollipop 着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47833644/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com