You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio XML中app:endIconCheckable属性的作用及使用场景是什么?

app:endIconCheckable 属性作用说明

这个属性是Material Components 中TextInputLayout组件的专属配置,作用是控制输入框末尾的图标是否支持「选中/未选中」双状态切换:

  • 设为true时,图标支持切换选中状态,可根据选中状态加载对应的drawable样式
  • 设为false时,图标仅支持普通点击状态,无选中状态的切换能力

为什么你修改属性值没有视觉差异?

你当前的代码配置没有满足状态切换的触发条件,因此看不出区别:

  1. 你设置了app:endIconMode="custom",但使用的endIconDrawable是普通静态图,没有配置针对state_checked状态的selector资源,即使开启可选中属性,也没有对应视觉样式变化
  2. 你没有给末尾图标绑定点击切换选中状态的逻辑,图标不会触发状态变更,自然看不到两种属性值的差异

对应使用场景

需要开启app:endIconCheckable="true"的场景

  • 密码输入框的显示/隐藏切换图标:系统默认的endIconMode="password_toggle"模式默认开启该属性,选中时显示明文、未选中时显示密文,同时切换对应图标样式
  • 输入内容校验标记:比如输入手机号校验通过后,末尾图标切换为选中状态的对勾,标记内容合法
  • 功能类状态切换:比如搜索输入框的收藏图标,点击后切换选中状态,标记当前搜索关键词已收藏

不需要开启(设为false)的场景

  • 一次性操作图标:比如点击就清空输入内容的清除图标、点击就触发搜索的搜索图标,这类操作完成后不需要保留选中状态
  • 纯提示类图标:比如末尾放问号图标,点击弹出输入规则说明,无需切换选中状态

内容的提问来源于stack exchange,提问作者Snehasisbasu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 22:09:03