android - 禁用 TextInputEditText 时禁用密码切换 ImageButton
问题描述
当 TextInputLayout 的app:passwordToggleEnabled
属性设置为 true 并且 TextInputEditText 的android:enabled
属性设置为 false 时,如何防止密码切换 ImageButton 被点击?
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="24dp"
android:hint="@string/password"
app:hintAnimationEnabled="true"
app:passwordToggleEnabled="true">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:maxLength="32"
android:maxLines="1"
android:enabled="false"/>
</com.google.android.material.textfield.TextInputLayout>
这是错误还是预期行为?
解决方案
就像我在评论中提到的那样,解决您的问题的一个简单方法是将 setEnabled 的设置TextInputLayout
为 false 而不是TextInputEditText
. 由于TextInputLayout
房屋TextInputEditText
,因此整个布局将被禁用。这是一个小演示:
TextInputLayout textInputLayout = findViewById(R.id.textInputLayout);
if(someCondition){
textInputLayout.setEnabled(false);
}
我希望这会有所帮助.. 编码愉快!
推荐阅读
- spring-boot - 自定义拦截器未注册
- git - 如何从 git 中的不同远程分支更新本地分支
- java - 如果我的程序是使用 JDK 8 编写的,那么我的所有依赖项是否都需要使用 JDK 8,而不是 JDK 6?它在构建工具方面与 JDK 有何不同?
- oracle - Oracle APEX 报告查询 - 默认显示所有行
- python - Python sklearn 缩放器
- c++ - 我无法通过光线追踪算法追踪超过 1 个球体
- python-3.x - GCP Pub/Sub - 如何从 BQ 计划查询中检索状态
- ios - 未按预期应用约束
- node.js - 如何使用 google drive api 查找特定文件夹的存储详细信息
- c++ - 为什么在 C++ 中不允许从 int (*)(int) 到 void* 的 static_cast?