在线性布局中将焦点从父级传递给子级

时间:2011-03-09 14:16:30

标签: android android-layout android-linearlayout

我的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>

1 个答案:

答案 0 :(得分:31)

在子视图上使用XML属性'android:duplicateParentState'设置为true,以使其继承其父视图的可绘制状态。

此处有更多详情:http://developer.android.com/reference/android/view/View.html#attr_android:duplicateParentState