gpt4 book ai didi

android - TextInputLayout启用= false后如何使TextInputEditText中的文本变为灰色?

转载 作者:行者123 更新时间:2023-12-03 08:14:27 25 4
gpt4 key购买 nike

当我禁用 TextInputLayout 时

InputTextContainer.isEnabled = false

它变得灰色,所以从视觉上你知道它不可用,但即使它也被阻止,其中的文本仍然是黑色的。我希望我的文本作为禁用容器呈灰色。你能帮我做到这一点吗?

最佳答案

使用默认主题,当您禁用 TextInputLayout 时,TextInputLayout 包含的 EditText 中的文本也会变灰。您可能在您的主题或 EditText 上的特定样式中执行了某些操作,从而覆盖了此设置。

例如,如果您指定了如下所示的文本颜色:

<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
tools:hint="Hint"
tools:text="Text" />

...您指定的单一颜色无法对 View 的不同状态使用react。这里我定义了黑色#000000,所以无论如何文本都是黑色的。

如果您希望颜色在禁用时变为灰色或透明,则需要定义 ColorStateList color in XML并将其用作您的 android:textColor。确保 ColorStateList 至少具有一种与 state_enabled="false" 对应的状态。例如:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:color="#80000000"
android:state_enabled="false"/> <!-- Translucent black for disabled state -->
<item
android:color="#FF000000"/> <!-- Default -->
</selector>

关于android - TextInputLayout启用= false后如何使TextInputEditText中的文本变为灰色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69883119/

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