Android电视列表视图及焦点处理
Android电视上的列表视图,因为没有联系事件,只能通过按键处理,因此,用到listview时需要特殊处理:
<强> 1。复杂的观点需要获取焦点,需要设置:强>
setItemsCanFocus(真正的)
同时需要设置下能获取焦点视图的属性:
android: focusable=" true
这样子级视图就可以获取获取焦点。
<强> 2.视图中需要获取焦点需要高亮框效果,可以在视图画外框:强>
包com.cn21.ecloud.tv.ui.widget; 进口android.content.Context; 进口android.graphics.Canvas; 进口android.graphics.Rect; 进口android.graphics.drawable.Drawable; 进口android.util.AttributeSet; 进口android.widget.RelativeLayout; 公开课SelectedRelativeLayout RelativeLayout{延伸 私人可拉的mFloatDrawable; 私人矩形mTempRect=new矩形(); 公共SelectedRelativeLayout(上下文语境){ 这(上下文,null, 0); } 公共SelectedRelativeLayout(上下文语境,AttributeSet attrs) { 这(上下文、attrs 0); } 公共SelectedRelativeLayout(上下文语境、AttributeSet attrs int defStyleAttr) { 超级(上下文、attrs defStyleAttr); mFloatDrawable=getresource () .getDrawable (R.drawable.item_float_rectangle); } @Override 保护无效dispatchDraw(帆布画布){ super.dispatchDraw(画布); 如果(hasFocus ()) { 如果(mFloatDrawable !=null) { 最后一个int w=getMeasuredWidth (); 最后一个int h=getMeasuredHeight (); mFloatDrawable.getPadding (mTempRect); mFloatDrawable.setBounds (-mTempRect。左,-mTempRect.top, w + mTempRect。对的,h + mTempRect.bottom); mFloatDrawable.draw(画布); } } } } >之前布局中直接使用这个视图
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
Android电视列表视图及焦点处理