本文主要是介绍android 盒子 TV CheckBox 的三种状态,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
android开发这么久了,发现这么基础的问题实在脸红 好吧 ,,,,首先看下三张图片
这个android 页面是跑在 TV上的 所以 记住密码CheckBox 有 如图三个 状态 1普通状态 2获取焦点状态 3选中状态
三个状态的样式 写了很长的时间 碰到的坑也很多,,,怪就怪在自己平时懂的东西太少了,,,,,
不罗嗦了,,,,看xml 的 样式
<selector xmlns:android="http://schemas.android.com/apk/res/android"><!--这里的样式是有优先级的 第一个item的优先级最高 依次往下推--> <!--选中且有焦点--> <item android:drawable="@drawable/remember_select" android:state_checked="true" android:state_focused="true"/><!--没有选中但是有焦点--> <item android:drawable="@drawable/remember_press" android:state_checked="false" android:state_focused="true"/><!--选中但没有焦点--> <item android:drawable="@drawable/remember_select" android:state_checked="true" android:state_focused="false"/><!--其他--> <item android:drawable="@drawable/remember_normal"/> </selector>
问题一 : 这里要明确一个 选中 和 焦点 是两回事 ,,焦点是遥控器焦点刚刚好在这个点上 。选中是 遥控器到这个点按下确认 才选选中 当焦点移走时,他还是选中的状态(只要你在当前焦点 没有重新按下确认键),
问题追加 : 用户选中后保持持久状态图片 android:state_selected="true"
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/disarming_on_xx" android:state_selected="true"/>
<item android:drawable="@drawable/disarming_focus_xx" android:state_focused="true" />
<item android:drawable="@drawable/disarming_xx" />
</selector>
上面的xml文件 android:state_selected="true"必须在java代码 设置true或false 才有效
例如 :imageView1.setSelected(true);
imageView2.setSelected(false);
imageView3.setSelected(false);
这篇关于android 盒子 TV CheckBox 的三种状态的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!