Android Studio XML中app:endIconCheckable属性的作用及使用场景是什么?
app:endIconCheckable 属性作用说明
这个属性是Material Components 中TextInputLayout组件的专属配置,作用是控制输入框末尾的图标是否支持「选中/未选中」双状态切换:
- 设为
true时,图标支持切换选中状态,可根据选中状态加载对应的drawable样式 - 设为
false时,图标仅支持普通点击状态,无选中状态的切换能力
为什么你修改属性值没有视觉差异?
你当前的代码配置没有满足状态切换的触发条件,因此看不出区别:
- 你设置了
app:endIconMode="custom",但使用的endIconDrawable是普通静态图,没有配置针对state_checked状态的selector资源,即使开启可选中属性,也没有对应视觉样式变化 - 你没有给末尾图标绑定点击切换选中状态的逻辑,图标不会触发状态变更,自然看不到两种属性值的差异
对应使用场景
需要开启app:endIconCheckable="true"的场景
- 密码输入框的显示/隐藏切换图标:系统默认的
endIconMode="password_toggle"模式默认开启该属性,选中时显示明文、未选中时显示密文,同时切换对应图标样式 - 输入内容校验标记:比如输入手机号校验通过后,末尾图标切换为选中状态的对勾,标记内容合法
- 功能类状态切换:比如搜索输入框的收藏图标,点击后切换选中状态,标记当前搜索关键词已收藏
不需要开启(设为false)的场景
- 一次性操作图标:比如点击就清空输入内容的清除图标、点击就触发搜索的搜索图标,这类操作完成后不需要保留选中状态
- 纯提示类图标:比如末尾放问号图标,点击弹出输入规则说明,无需切换选中状态
内容的提问来源于stack exchange,提问作者Snehasisbasu
相关产品推荐
相关产品推荐

