Просьба сосредоточиться на просмотре изображения во фрагменте

Я разрабатываю приложение для Android TV, В приложении есть фрагмент макета, который имеет четыре ImageView в LinearLayout горизонтальное направление и RecyclerView это ниже на LinearLayout, Когда я запускаю приложение и перемещаюсь по DPAD контроль тогда RecyclerView перемещаться вверх и вниз. Требование заключается в том, что при первом запуске фрагмента по умолчанию ImageView из LinearLayout будет выбран. После того, как мы нажимаем правую кнопку DPAD, затем следующий ImageView будет выбран. Когда мы нажимаем клавишу вниз, фокус будет двигаться дальше RecyclerView, Когда фокус будет на RecyclerView первый ребенок, и мы нажимаем клавишу "Вверх", затем фокусируемся на первом Imageview из LinearLayout,

Я также использую imageview.requestFocus(), но он не работает. Пожалуйста, помогите мне.

Ниже мой файл макета

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

<LinearLayout 
       android:id="@+id/home_fragment_menu_container"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:orientation="horizontal"
       android:layout_marginLeft="30dp"
       android:layout_marginRight="30dp"
       android:layout_marginBottom="10dp">


       <ImageView 
           android:id="@+id/img_playall"
           style="@style/home_fragment_menu"
           android:src="@drawable/play_all"
           android:focusable="true"
           android:focusableInTouchMode="true"/>

       <ImageView 
           android:id="@+id/img_trending"
           style="@style/home_fragment_menu"
           android:src="@drawable/trending"/>

       <ImageView 
           android:id="@+id/img_search"
           style="@style/home_fragment_menu"
           android:src="@drawable/search"/>

       <ImageView 
           android:id="@+id/img_setting"
           style="@style/home_fragment_menu"
           android:src="@drawable/settings"/>    
   </LinearLayout>


   <LinearLayout 
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:layout_below="@+id/home_fragment_menu_container"
       android:layout_marginLeft="45dp"
       >

     <android.support.v7.widget.RecyclerView
           android:id="@+id/vertical_recyclerview"
           android:layout_width="match_parent"
           android:layout_height="match_parent"
           />

   </LinearLayout>
</RelativeLayout>

Ниже приведен фрагмент.java файл

public class HomeFragment extends Fragment {

    private static final String TAG = "HomeFragment";

    ImageView playAllImage, trendingImage, searchImage, settingImage;



    Context context;
    RecyclerView verticalList;
    ArrayList<ArrayList<VideoContentModel>> categoriesVideoList;
    ArrayList<CategoryModel> categoryDataList;

    public static HomeFragment newInstance(Context context, ArrayList<ArrayList<VideoContentModel>> categoriesVideoList,
            ArrayList<CategoryModel> categoryDataList){

        HomeFragment fragment = new HomeFragment();
        fragment.context = context;
        fragment.categoriesVideoList = categoriesVideoList;
        fragment.categoryDataList = categoryDataList;

        return fragment;
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.home_fragment_layout, container, false);

        playAllImage = (ImageView)view.findViewById(R.id.img_playall);
        trendingImage = (ImageView)view.findViewById(R.id.img_trending);
        searchImage = (ImageView)view.findViewById(R.id.img_search);
        settingImage = (ImageView)view.findViewById(R.id.img_setting);

        playAllImage.requestFocus();


        verticalList = (RecyclerView)view.findViewById(R.id.vertical_recyclerview);
        verticalList.setHasFixedSize(true);
        verticalList.setLayoutManager(new LinearLayoutManager(context));
        CatListVerticalAdapter adapter = new CatListVerticalAdapter(context,categoriesVideoList,categoryDataList);
        verticalList.setAdapter(adapter);

        verticalList.clearFocus();



        //


        if(playAllImage.hasFocus())
            Log.i(TAG,"play all has focus");
        else
            Log.i(TAG,"===playall has not focus");

        return view;
    }

Как мы перемещаемся через DPAD выше требования? Пожалуйста, помогите мне..

0 ответов

Другие вопросы по тегам