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

Kotlin 在TextInputLayout中设置文本时默认显示EndIcon,kotlin,textinputlayout,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_te

我想知道默认情况下如何隐藏

旋转屏幕或以相同方式显示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>

您可以创建TextInputItemText的扩展功能来设置文本并禁用父布局的endIcon

fun TextInputEditText.setTextWithoutEndIcon(content: String, parentLayout: TextInputLayout){
this.setText(content)
parentLayout.isEndIconVisible = false
}
所以只需传递edittext的textInputLayout,它就会禁用endIcon。小心不要传递其他edittext的textInputLayout

此外,我建议创建一个CustomTextInputItemText,并将此函数放在其中,这将为您提供更好的灵活性,并且您将能够以更好的方式定义您的目的。通过这种方式,您可以使材质TextInputItemText具有其默认属性(未修改)和您自己的TextInputItemText(已修改)

干杯