1

我有一个Relativelayout可点击的。我里面有一个元素(一个ImageButton),我也希望它是可点击的。

ImageButton在我添加;之前,布局是可点击的。现在只有那个是可点击的。

我已经在这两个元素中尝试了focusableand focusableInTouchMode= trueand的所有组合false(我只在xml布局中尝试过)。我怎样才能让它们都可点击?

我的代码;注意这是在 a 里面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>
4

3 回答 3

1

用这个给你的父母

android:addStatesFromChildren="true"

如果使用这个,那么不要使用以下,否则你会卡住溢出异常

把这个设置给你的孩子怎么样

android:duplicateParentState="true"
于 2013-09-21T17:02:32.710 回答
0

在相对布局上设置android:descendantsFocusability="blocksDescendants"

于 2013-09-21T17:51:40.163 回答
0

我也遇到过同样的问题。我有一个矩形视图,它必须接收一些其他功能的点击,以及一个ImageView矩形内部,必须接收一些其他功能的点击。

用于Relative Layout此目的Relative Layoutclickable=true拥有财产

android:descendantFocusability="afterDescendants"

这意味着布局只有在其后代都不需要时才会获得焦点。

因此,父母和孩子都可以点击以获得两种不同的功能。

于 2019-09-14T21:10:24.350 回答