Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 通过父视图和子视图实现可单击视图_Android_Button_Layout_Focus - Fatal编程技术网

Android 通过父视图和子视图实现可单击视图

Android 通过父视图和子视图实现可单击视图,android,button,layout,focus,Android,Button,Layout,Focus,我有一个可点击的Relativelayout。我有一个元素在里面(一个ImageButton),我也希望它是可点击的 直到我添加了ImageButton,布局才被点击;现在只有那个是可点击的 我已经在这两个元素中尝试了focusable和focusableInTouchMode=true和false的所有组合(我只在xml布局中尝试过)。如何使它们都可点击 我的代码;注意这是在一个列表视图中,每一行都有它;有一个不可点击的LinearLayout围绕着它: <RelativeLay

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

直到我添加了
ImageButton
,布局才被点击;现在只有那个是可点击的

我已经在这两个元素中尝试了
focusable
focusableInTouchMode
=
true
false
的所有组合(我只在
xml
布局中尝试过)。如何使它们都可点击

我的代码;注意这是在一个
列表视图中,每一行都有它;有一个不可点击的
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>

//几个文本视图被编辑掉了

用这个来告诉你的父母

android:addStatesFromChildren="true"
如果使用此选项,则不要使用以下选项,否则您将遇到溢出异常

把这个给你的孩子怎么样

android:duplicateParentState="true"

把这个给你的父母

android:addStatesFromChildren="true"
如果使用此选项,则不要使用以下选项,否则您将遇到溢出异常

把这个给你的孩子怎么样

android:duplicateParentState="true"


RelativeLayout.


相对年轻。

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

用于此目的的
相对布局
,其中
相对布局
可点击=真
,并具有属性

android:descendantFocusability="afterDescendants"
这意味着布局只有在其子体都不需要时才会接收焦点


因此,家长和孩子都可以点击两种不同的功能。

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

用于此目的的
相对布局
,其中
相对布局
可点击=真
,并具有属性

android:descendantFocusability="afterDescendants"
这意味着布局只有在其子体都不需要时才会接收焦点


因此,家长和孩子都可以点击两种不同的功能。

我厌倦了这一点,它不起作用;尽管我已经删除了父级和子级中的所有可聚焦的
实例。我将向问题中添加更多代码。@kicking莴苣您想为相对布局和按钮生成click事件,或者只生成一个事件使用此
android:duplicateParentState=“true”
使这两个项目现在都不可单击。使用它将addStatesFromChild添加到父项它接受子项状态这不起作用;尽管我已经删除了父级和子级中的所有可聚焦的
实例。我将向问题中添加更多代码。@kickings您想为相对布局和按钮生成click事件,还是只生成一个事件使用此
android:duplicateParentState=“true”
使这两个项目现在都不可单击。使用它addStatesFromChild到parent它接受子状态