使用了RecyclerView的布局文件代码:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="300dp"
android:layout_height="wrap_content">
<android.support.v7.widget.RecyclerView
android:id="@+id/channel_list_recyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/channel_list_bg"
android:descendantFocusability="afterDescendants"/> //关键代码1,ViewGroup在子控件不需要焦点时才获取焦点
</FrameLayout>
item布局文件代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/list_item_focus"
android:focusable="true" //关键代码2
android:gravity="center_horizontal"
android:orientation="vertical">
<TextView
android:id="@+id/item_channel_list_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:duplicateParentState="true" //关键代码3
android:text="channel info"
android:textColor="@color/black"/>
<ImageView
android:id="@+id/item_channel_list_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:duplicateParentState="true"
android:src="@drawable/ic_launcher"/>
</LinearLayout>