0

我已经习惯了 listview 的项目没有任何问题(即使是复杂的布局)处理 onpress 事件(一些使其按下和未按下的操作)。但现在我希望 LinearLayout 也一样——如果你在布局上按任何方式,所有后代都应该得到 onpress 事件。

这是我的片段布局的一部分,应该突出显示 onpress 事件。

<LinearLayout
            android:id="@+id/ll_about_fragment_feedback"
            android:gravity="center_vertical"
            android:layout_height="54dp"
            android:background="@drawable/about_item_bkg"
            android:layout_width="match_parent">

        <ImageView
                android:layout_height="wrap_content"
                android:background="@drawable/about_item_feedback_icon"
                android:layout_width="wrap_content"
                android:layout_marginLeft="11dp"/>

        <TextView
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:text="@string/about_fragment_feedback"
                android:layout_marginLeft="14dp"
                android:textSize="16dp"
                android:textColor="@drawable/about_item_textcolor"/>

</LinearLayout>

根布局的背景在按时更改,但后代的文本颜色不会。看起来他们没有从根获得事件。

那么,你能帮忙吗?

更新:LinearLayout ll_about_fragment_feedback 已绑定 OnClickListener 并且选择器一切正常

4

2 回答 2

1

如果您想Selector应用到您下的所有视图,LinearLayout那么您只需添加android:duplicateParentState="true"到所有子视图。

<LinearLayout
    android:id="@+id/ll_about_fragment_feedback"
    android:layout_width="match_parent"
    android:layout_height="54dp"
    android:background="@drawable/about_item_bkg"
    android:gravity="center_vertical" >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="11dp"
        android:background="@drawable/about_item_feedback_icon"
        android:duplicateParentState="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="14dp"
        android:duplicateParentState="true"
        android:text="@string/about_fragment_feedback"
        android:textColor="@drawable/about_item_textcolor"
        android:textSize="16dp" />

</LinearLayout>
于 2012-10-24T23:22:45.937 回答
0

只需将您绑定onClickListener到布局的根对象 ( ll_about_fragment_feedback) 即可。

于 2012-10-24T22:25:31.563 回答