kotlin - 在 TextInputLayout 中设置文本时默认显示 EndIcon

标签 kotlin textinputlayout

我想知道如何默认隐藏

当屏幕旋转或setText()以相同方式显示时

<com.google.android.material.textfield.TextInputLayout
    android:id="@+id/addressTextInputLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:endIconMode="clear_text"
    app:hintEnabled="false"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/label2">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="44dp"
        android:hint=""
        android:text="test"
        android:inputType="text"
        android:padding="10dp" />

</com.google.android.material.textfield.TextInputLayout>

最佳答案

您可以创建 TextInputEditText 的扩展函数来设置文本并禁用父布局的 endIcon。

fun TextInputEditText.setTextWithoutEndIcon(content: String, parentLayout: TextInputLayout){
this.setText(content)
parentLayout.isEndIconVisible = false
}

因此只需传递该编辑文本的 textInputLayout,它将禁用 endIcon。注意不要传递其他 edittext 的 textInputLayout。

此外,我建议制作一个 customTextInputEditText 并将此函数放在那里,这将为您提供更好的灵 active ,并且您将能够以更好的方式定义您的目的。这样,您就可以获得具有默认属性(未修改)的 Material TextInputEditText 和您自己的 textinputEditText(已修改)。

干杯!

关于kotlin - 在 TextInputLayout 中设置文本时默认显示 EndIcon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59229180/

相关文章:

Android TextInputLayout 提示与 EditText 提示重叠

android - TextInputLayout 内的 AppCompatEditText.getpParent() 返回 FrameLayout

guava - Kotlin:使用 google-guava 静态方法作为扩展

android - Kotlin 协程 - 异步等待

java - kotlin中的中位数计算

java - Kotlin 属性的私有(private) getter 和公共(public) setter

android - 多色编辑文本提示

java - 如何通过Java处理TextInputLayout

android - 为什么 Kotlin 插件为 Android 项目添加 kotlin-stdlib-jre7(不是 kotlin-stdlib)引用