最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

android tv列表焦點記憶實現(xiàn)的方法

 更新時間:2018年04月02日 09:45:28   作者:AndroidXing  
本篇文章主要介紹了android tv列表焦點記憶實現(xiàn)的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

在Android tv中的開發(fā)中,經(jīng)常要跟焦點打交道,一個常見的需求是要有焦點記憶功能,焦點移動到列表中的某一項中,焦點移出去,在回來時焦點還要定位到原來的項目上,對于這種需求,常見的實現(xiàn)方式是列表用用listview或者recyclerview實現(xiàn),維護一個變量去存儲上次的焦點位置,并在焦點變動或者按鍵事件中去維護這個變量和使用這個變量來定位.

具體實現(xiàn)

比如說用recyclerview實現(xiàn)列表時,在每個itemview的按鍵事件中,根據(jù)按鍵的方向和當(dāng)前view的位置,判斷是否是向外移走焦點的,如果是,那么就去設(shè)置父view也就是recyclerview的焦點模式,并且要保存當(dāng)前view的位置信息

復(fù)制代碼 代碼如下:
recyclerview.setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS);

在用戶操作移回焦點時,由于前一步設(shè)置了焦點模式為block,因此會父view會首先獲取焦點,增加焦點變動的事件處理:

recyclerview.setOnFocusChangeListener(new OnFocusChangeListener() {
      @Override
      public void onFocusChange(View v, boolean hasFocus) {
        if(hasFocus){
          Recyclerview recyclerview = (Recyclerview)v;
          recyclerView.setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);
          if(mCurrentFocusPosition>0){
            LayoutManager layoutManager = recyclerView.getLayoutManager();
            View viewByPosition = layoutManager.findViewByPosition(mCurrentFocusPosition);
            if(viewByPosition!=null){
              viewByPosition.requestFocus();
            }
          }
        }
      }
    });

如代碼所示,在焦點變動處理中,設(shè)置view的焦點模式,可以讓子view獲取焦點;拿到上一步保存的位置信息來手動設(shè)置焦點.

后面介紹另一種更簡便的方法,有更好的封裝性,不需要外層邏輯做維護處理.

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android中使用Handler及Countdowntimer實現(xiàn)包含倒計時的閃屏頁面

    Android中使用Handler及Countdowntimer實現(xiàn)包含倒計時的閃屏頁面

    這篇文章主要介紹了Android中使用Handler及Countdowntimer實現(xiàn)包含倒計時的閃屏頁面,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-03-03
  • Android WebView的使用方法總結(jié)

    Android WebView的使用方法總結(jié)

    這篇文章主要介紹了 Android WebView的使用方法總結(jié)的相關(guān)資料,功能有指定網(wǎng)頁打開,跳轉(zhuǎn)網(wǎng)頁,傳值等,需要的朋友可以參考下
    2017-07-07
  • Android模擬實現(xiàn)滑動解鎖界面

    Android模擬實現(xiàn)滑動解鎖界面

    這篇文章主要為大家詳細介紹了Android模擬實現(xiàn)滑動解鎖界面,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 詳解Android性能優(yōu)化之啟動優(yōu)化

    詳解Android性能優(yōu)化之啟動優(yōu)化

    一款應(yīng)用的第一印象很重要,第一印象往往決定了用戶的去留。打開一款應(yīng)用,如果速度很快,很順暢,那么很容易讓人覺得這款應(yīng)用背后的技術(shù)實力很強,用戶潛意識中會對這款應(yīng)用更加的信賴。本文將詳細介紹Android性能優(yōu)化之啟動優(yōu)化。
    2021-06-06
  • Android購物車項目快速開發(fā)

    Android購物車項目快速開發(fā)

    這篇文章主要為大家詳細介紹了Android購物車項目快速開發(fā),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Android開發(fā)入門環(huán)境快速搭建實戰(zhàn)教程

    Android開發(fā)入門環(huán)境快速搭建實戰(zhàn)教程

    最近想重新學(xué)習(xí)下Android,學(xué)習(xí)之前開發(fā)環(huán)境的搭建是個首先要解決的問題,所以下面這篇文章主要給大家介紹了Android開發(fā)環(huán)境搭建的相關(guān)資料,文中將實現(xiàn)的步驟一步步介紹的非常詳細,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • 簡單實現(xiàn)android短信發(fā)送器

    簡單實現(xiàn)android短信發(fā)送器

    這篇文章主要為大家詳細介紹了如何簡單實現(xiàn)android短信發(fā)送器 ,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Android實現(xiàn)通訊錄功能

    Android實現(xiàn)通訊錄功能

    這篇文章主要為大家詳細介紹了Android實現(xiàn)通訊錄功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • Json數(shù)據(jù)解析模擬美團界面顯示

    Json數(shù)據(jù)解析模擬美團界面顯示

    這篇文章主要介紹了Json數(shù)據(jù)解析模擬美團界面顯示,涉及到j(luò)son數(shù)據(jù)解析相關(guān)知識,本文寫的非常不錯,具有參考價值,特此分享供大家學(xué)習(xí)
    2016-01-01
  • Android開發(fā)之Android.mk模板的實例詳解

    Android開發(fā)之Android.mk模板的實例詳解

    這篇文章主要介紹了Android開發(fā)之Android.mk模板的實例詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10

最新評論

离岛区| 城口县| 康平县| 镇原县| 什邡市| 监利县| 梨树县| 岐山县| 芜湖县| 宜州市| 诸暨市| 石狮市| 西城区| 吉安市| 望谟县| 扬州市| 祁阳县| 买车| 东乡县| 高雄县| 七台河市| 绥宁县| 正安县| 社旗县| 荆州市| 扎赉特旗| 马鞍山市| 年辖:市辖区| 泸水县| 丁青县| 突泉县| 嵊泗县| 鄂尔多斯市| 南投市| 德安县| 板桥市| 澎湖县| 神池县| 博湖县| 祁东县| 壤塘县|