3

我想知道如何默认隐藏

屏幕旋转或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>
4

1 回答 1

3

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

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

所以只需传递那个edittext的textInputLayout,它就会禁用endIcon。注意不要传递其他edittext的textInputLayout。

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

干杯!

于 2020-01-09T05:00:13.577 回答