使用父级和子级实现可点击视图

时间:2013-09-21 16:56:53

标签: android button layout focus

我有一个可点击的Relativelayout。我有一个元素(ImageButton),我也想点击它。

布局是可以点击的,直到我添加了ImageButton;现在只有可点击的了。

我在两个元素中尝试了focusablefocusableInTouchMode = truefalse的所有组合(我只在xml布局中尝试过)。如何才能使它们同时点击?

我的代码;请注意,这是在ListView内,每行都有这个;这是一个不可点击的LinearLayout

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/row_selector"
        android:duplicateParentState="true"
        android:paddingBottom="10dp" >

   // several TextViews edited out 

   <ImageButton
            android:id="@+id/ibMenu"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:background="@color/row_overflow_state"
            android:contentDescription="menu"
            android:src="@drawable/ic_action_overflow" />
    </RelativeLayout>

3 个答案:

答案 0 :(得分:1)

将此用于您的父母

android:addStatesFromChildren="true"

如果使用此功能,请不要使用以下内容,否则会出现卡住溢出异常

如何将此设置为您的孩子

android:duplicateParentState="true"

答案 1 :(得分:0)

设置android:descendantsFocusability =“blockDescendants” RelativeLayout的

答案 2 :(得分:0)

我遇到了同样的问题。我有一个矩形视图,它必须接收其他功能的点击,并且矩形内的actions.searchResults(name, () => ({ auth: { token: "test" } }))必须接收其他功能的点击。

undefinedtoken = getState && getState().auth.token并具有属性的情况下,将ImageView用于此目的

Relative Layout

这意味着该布局仅在其后代都不想要时才会获得焦点。

因此,父级和子级都可以点击以使用两种不同的功能。