我的xml代码中有一系列嵌套的线性布局。我希望父母的第一个孩子(也是一个线性布局)成为焦点。如果我将focusable设置为true,它就会这样做。我还想把焦点传递给这个布局的子节点(为了调用它们的状态列表)。然而,即使它们被设定为可聚焦,它也不会将它的任何焦点传递给它的孩子。任何想法如何做到这一点?感谢
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:weightSum="1"
android:layout_height="wrap_content"
android:background="@drawable/resultpage_statelist"
android:focusable="true"
android:clickable="true">
<TextView
android:text="TextView"
android:layout_height="wrap_content"
android:paddingTop="5dip"
android:paddingBottom="5dip"
android:paddingLeft="10dip"
android:layout_width="fill_parent"
android:layout_weight="0.8"
android:id="@+id/tag_row_text"
android:textSize="16dip"
android:padding="10dip"
android:textColor="@drawable/resultpage_grey_text_statelist"
android:background="#00000000"
android:focusable="true">
</TextView>
<ImageView
android:layout_height="wrap_content"
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_gravity="right|center_vertical"
android:src="@drawable/arrow_statelist"
android:layout_marginRight="10dip"
android:background="#00000000"
android:focusable="true">
</ImageView>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:background="#6E6E6E"
android:layout_height="1dip">
</LinearLayout>
</LinearLayout>
答案 0 :(得分:31)
在子视图上使用XML属性'android:duplicateParentState'设置为true,以使其继承其父视图的可绘制状态。
此处有更多详情:http://developer.android.com/reference/android/view/View.html#attr_android:duplicateParentState