Android Tv開發 RecyclerView焦點控制及自動換行


Android Tv開發 RecyclerView焦點控制及自動換行

  最近開始接觸Android TV端開發,有好多不適應,尤其是對焦點的控制,這也是手機app和電視app最大的不同之處。RecyclerView是個強大的控件,能代替ListViewGridView能實現瀑布流,還能實現橫向ListView只需要一句代碼就能使縱向的ListView變成橫向的(主要實現就是布局管理器的選擇上)。這里我要說的是RecyclerViewitem的焦點控制和RecyclerView末尾自動換行。

一、RecyclerView焦點控制

   Android TV使用RecyclerView,用焦點控制item

  首先在item的xml中的最外層添加android:focusable="true",該句是為RecycleViewitem添加焦點屬性,添加完屬性后,在RecyclerViewadapter中的onBindViewHolder方法中添加該view(設置過 android:focusable="true"的view)的setOnFocusChangeListener()方法,如下所示:

((MyHolder) holder).ll_commitphone.setOnFocusChangeListener(new View.OnFocusChangeListener(){
    @Override
    public void onFocusChange(View v, boolean hasFocus) {
        if (hasFocus) {
            ((MyHolder) holder).ll_commitphone.setBackgroundResource(R.drawable.select_ture);
        } else {
            ((MyHolder) holder).ll_commitphone.setBackgroundResource(R.drawable.select_false);
        }
    }
});

 

二、RecyclerView末尾自動換行

   由於RecyclerViewitem在焦點控制的時候不會自動換行,可設置強制換行,如下:

RecyclerView.LayoutManager mLayoutManager = new GridLayoutManager(DiagnosiserActivity.this,4);
diagnosisRV.addItemDecoration(new DividerGridItemDecoration(
        DiagnosiserActivity.this));
diagnosisRV.setLayoutManager(mLayoutManager);

 

以上只是部分代碼,歡迎下載demo。

下載地址:https://download.csdn.net/download/qq_35702985/12882124

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM