Android TV listview及焦點(diǎn)處理
Android TV listview及焦點(diǎn)處理
Android TV上的listview ,因?yàn)闆](méi)有touch事件,只能通過(guò)按鍵處理,因此,用到listview時(shí)需要特殊處理:
1.復(fù)雜的view需要獲取焦點(diǎn),需要設(shè)置:
setItemsCanFocus(true)
同時(shí)需要設(shè)置下能獲取焦點(diǎn)view的屬性:
android:focusable="true
這樣子級(jí)view就可以獲取獲取焦點(diǎn)。
2.view中需要獲取焦點(diǎn)需要高亮框效果,可以在view畫(huà)外框:
package com.cn21.ecloud.tv.ui.widget; import android.content.Context; import android.graphics.Canvas; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.widget.RelativeLayout; public class SelectedRelativeLayout extends RelativeLayout{ private Drawable mFloatDrawable; private Rect mTempRect = new Rect(); public SelectedRelativeLayout(Context context) { this(context, null, 0); } public SelectedRelativeLayout(Context context, AttributeSet attrs) { this(context, attrs, 0); } public SelectedRelativeLayout(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); mFloatDrawable = getResources().getDrawable(R.drawable.item_float_rectangle); } @Override protected void dispatchDraw(Canvas canvas) { super.dispatchDraw(canvas); if (hasFocus()) { if (mFloatDrawable != null) { final int w = getMeasuredWidth(); final int h = getMeasuredHeight(); mFloatDrawable.getPadding(mTempRect); mFloatDrawable.setBounds(-mTempRect.left, -mTempRect.top, w + mTempRect.right, h + mTempRect.bottom); mFloatDrawable.draw(canvas); } } } }
布局中直接使用這個(gè)view
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
解決Android Studio電腦不支持HAXM的問(wèn)題
這篇文章主要介紹了Android Studio電腦不支持HAXM的問(wèn)題及解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2020-03-03往Android系統(tǒng)中添加服務(wù)的方法教程
最近因?yàn)槠脚_(tái)升級(jí),需要在系統(tǒng)中添加一些服務(wù),所以將整個(gè)過(guò)程總結(jié)一下,下面這篇文章主要給大家介紹了往Android系統(tǒng)中添加服務(wù)的方法教程,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-05-05Android 文件操作詳解及簡(jiǎn)單實(shí)例
這篇文章主要介紹了 Android 文件操作詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-02-02一分鐘實(shí)現(xiàn)Android遮罩引導(dǎo)視圖
本文通過(guò)一分鐘的時(shí)間教大家實(shí)現(xiàn)Android遮罩引導(dǎo)視圖,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03Android RecyclerView添加FootView和HeadView
這篇文章主要介紹了Android RecyclerView添加FootView和HeadView的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10Android仿微信調(diào)用第三方地圖應(yīng)用導(dǎo)航(高德、百度、騰訊)
這篇文章主要介紹了Android仿微信調(diào)用第三方地圖應(yīng)用導(dǎo)航,包括高德、百度、騰訊地圖,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10Android?如何獲取傳感器的數(shù)據(jù)方法詳解
這篇文章主要介紹了Android?如何獲取傳感器的數(shù)據(jù),傳感器?Sensor?是一種檢測(cè)裝置,能感受到被測(cè)量的信息,并能將感受到的信息,按一定規(guī)律變換成為電信號(hào)或其他所需形式的信息輸出,以滿足信息的傳輸、處理、存儲(chǔ)、顯示、記錄和控制等要求2022-07-07Kotlin協(xié)程Dispatchers原理示例詳解
這篇文章主要為大家介紹了Kotlin協(xié)程Dispatchers原理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08