1

我有一个包含图标图像和文本视图的布局。我想要的是在按下父布局时更改图标图像的背景。我尝试了选择器功能,但它仅适用于正在按下的视图。如果我在按下图标图像时应用选择,则效果很好,但我想要的是在用户按下其整个父布局时更改图标图像。这是我的布局 xml 文件

<RelativeLayout
                android:id="@+id/home_edit_profile"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1" 
                 >



                <RelativeLayout
                    android:id="@+id/first_row_image_container"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerVertical="true" 
                    android:layout_marginLeft="20dp">

                    <ImageView
                        android:id="@+id/image_edit_profile"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:duplicateParentState="true"
                        android:src="@drawable/home_page_edit_profile_press" 
                        />
                </RelativeLayout>

                <RelativeLayout

                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerVertical="true"
                    android:layout_toRightOf="@+id/first_row_image_container" 
                    android:layout_toLeftOf="@+id/first_row_arrow_container"
                    android:paddingLeft="15dp">

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_centerInParent="false"
                        android:text="Edit Profile"
                        android:textColor="#ffffff"
                        android:duplicateParentState="true"
                        android:textAppearance="?android:attr/textAppearanceLarge" />

                </RelativeLayout>

                <ImageView
                    android:id="@+id/imageView3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/home_page_saparatar_line" 
                    android:layout_alignParentBottom="true"/>

            </RelativeLayout>
4

1 回答 1

3

//你需要添加这一行android:duplicateParentState="true"

在您的图标和文本视图中。

android:duplicateParentState - 
When this attribute is set to true, the view gets its drawable state 
(focused, pressed, etc.) from its direct parent rather than from itself. 
于 2013-02-18T14:42:24.187 回答