如何更改 TextInputLayout android 中 set EndIconDrawable 的可见性(可见、不可见和消失)?
How to change visiblity (visible, invisible or gone ) of setEndIconDrawable in TextInputLayout android?
我正在尝试使 endIconDrawable 不可见或可见性消失,它是上图中仅用于 FirstName 字段的编辑图标,并且想保持其余字段的可见编辑图标但无法做到?我该怎么做?
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/tilFirstName"
android:layout_width="match_parent"
android:layout_height="@dimen/_64dp"
app:endIconDrawable="@drawable/icon_edit"
app:endIconMode="custom">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/etFirstName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusableInTouchMode="false"
android:hint="@string/label_fname"
android:inputType="textCapWords" />
</com.google.android.material.textfield.TextInputLayout>
我想得到如下图所示的内容:
添加这个android:visibility="gone"
如果你想在布局中(静态方式)做到这一点,就不要添加 app:endIconDrawable
/app:endIconMode
属性:
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/tilFirstName"
android:layout_width="match_parent"
android:layout_height="@dimen/_64dp">
以编程方式删除 endIconDrawable
您可以使用:
textInputLayout.setEndIconMode(TextInputLayout.END_ICON_NONE);
要添加 endIconDrawable
,您可以使用:
textInputLayout.setEndIconMode(TextInputLayout.END_ICON_CUSTOM);
textInputLayout.setEndIconDrawable(R.drawable.xxxx);
我尝试了@Gabriele Mariotti 的回答。这很好,但它有一个问题。我使用了使 endicon 在文本观察器中可见或不可见的代码,但它没有按预期工作。然后我将 isEndIconVisible 属性用于 textInputLayout 并确定它是对还是错。它按预期正常工作。
2022 KOTLIN
最佳解决方案:
textInputLayout.isEndIconVisible = false
我正在尝试使 endIconDrawable 不可见或可见性消失,它是上图中仅用于 FirstName 字段的编辑图标,并且想保持其余字段的可见编辑图标但无法做到?我该怎么做?
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/tilFirstName"
android:layout_width="match_parent"
android:layout_height="@dimen/_64dp"
app:endIconDrawable="@drawable/icon_edit"
app:endIconMode="custom">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/etFirstName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusableInTouchMode="false"
android:hint="@string/label_fname"
android:inputType="textCapWords" />
</com.google.android.material.textfield.TextInputLayout>
我想得到如下图所示的内容:
添加这个android:visibility="gone"
如果你想在布局中(静态方式)做到这一点,就不要添加 app:endIconDrawable
/app:endIconMode
属性:
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/tilFirstName"
android:layout_width="match_parent"
android:layout_height="@dimen/_64dp">
以编程方式删除 endIconDrawable
您可以使用:
textInputLayout.setEndIconMode(TextInputLayout.END_ICON_NONE);
要添加 endIconDrawable
,您可以使用:
textInputLayout.setEndIconMode(TextInputLayout.END_ICON_CUSTOM);
textInputLayout.setEndIconDrawable(R.drawable.xxxx);
我尝试了@Gabriele Mariotti 的回答。这很好,但它有一个问题。我使用了使 endicon 在文本观察器中可见或不可见的代码,但它没有按预期工作。然后我将 isEndIconVisible 属性用于 textInputLayout 并确定它是对还是错。它按预期正常工作。
2022 KOTLIN
最佳解决方案:
textInputLayout.isEndIconVisible = false