大家都知道,TV这一块不仅要实现功能,最主要令我们头疼的不是这个,而是焦点,比如实际开发中,碰到一些常用的控件,如:listview或gridview这些常用的类型主控件,但是实际用遥控器操作时,往往子item得不到焦点的请求,这时检查会发现我们已经设置了焦点或者焦点框。可是问题出在哪里呢,刚开始入手这个的时候,我是直接网上找资料,发现一个共性问题,就是总是每个控件都会设置
android:focusable="true"和android:focusableInTouchMode="true"
认为这样,这个控件就可以得到焦点了,但是对于istview或gridview来说,要子item得到焦点,则必须要主控件不能得到焦点,如:
<GridView android:id="@+id/gv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:stretchMode="columnWidth" android:verticalSpacing="@dimen/px40" android:focusable="false" android:listSelector="@drawable/shape_bg_color" android:layout_marginLeft="@dimen/px70" android:numColumns="4"/>
当然这是一个列子,其中原理还是得自己动手才知道,还有就是点击事件,可以写在适配器中,也可以
setOnItemClickListener中方法写入。
好了,第一次写博客,可能我表达不好,不懂的留言。