在 Android 上,列表中常用的模式是附件操作。这通常通过在列表项的右侧放置一个额外的按钮来完成。
例如,闹钟应用程序列出了不同的闹钟时间;在每个列表项上,额外的两种状态按钮允许在不进入警报属性屏幕的情况下打开或关闭警报。这样的按钮是通过使用一个调整过的视图来实现的,当父布局被按下时,它不会显示自己被按下。
我的项目中的一个限制是此类操作应该在非触摸模式下可选择,即在使用 d-pad 导航时。实际上,只能使用列表项的主要部分;无法使用 d-pad 将注意力集中在附件按钮上。这发生在我读过的博客文章中的每一个提议的实现上。
一种解决方案是摆脱对列表项本身的关注,但这意味着根据具体情况会丢失许多 ListView 或 SettingsActivity 功能。
是否可以在保持正常 ListView 行为的同时使额外按钮在非触摸模式下具有焦点?我想要实现的是,例如,在使用上/下时通常选择一个列表项,并使用左/右键专注于附件按钮。