我的抽屉布局正在拦截所有触摸事件。我需要帮助找出如何点击它下面的元素。这是我的drawerLayout的设置方式
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/frag_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<RelativeLayout
.... some code ...
</RelativeLayout>
</android.support.v4.widget.DrawerLayout>
然后我在另一个布局中引用这个布局,比如这个
<!-- elements inside of this relative layout
are unclickable because the drawer layout below
intercepts all clicks. If I place the drawer above
this view the drawer is beneath all the elements
in the relative layout, however, I am able to do
my clicks as expected. What I am doing incorrectly? -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- ... some code * the buttons here are what
I want to be clickable when drawer is closed.
I currently cannot reach them ... -->
</RelativeLayout>
<include layout="@layout/drawer" />
</FrameLayout>
我在抽屉的xml中添加了android:clickable="false"
和android:focusable="false"
。我以编程方式记录了点击次数,它是ID为“drawer_layout”的实际抽屉拦截所有点击。使其无法点击不起作用,它仍然是可点击的。我也尝试将可见性设置为INVISIBLE和GONE,这些也不是可行的解决方案。
如何让抽屉拉出允许点击它到下面的元素?提前谢谢!
答案 0 :(得分:1)
通过将clickable和focusable设置为false,我认为您也禁用了单击布局中的视图。从抽屉布局中删除这些选项。 尝试为抽屉布局中的容器设置android:clickable =“true”和android:focusable =“true”。
答案 1 :(得分:1)
我想出来了。我最后将我的主要布局添加到抽屉,这与我以前做的相反,因为在我将抽屉添加到主布局之前。所以我做的改变是
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/frag_container"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<include layout="@layout/main_layout" />
</FrameLayout>
<RelativeLayout
.... some code ...
</RelativeLayout>
</android.support.v4.widget.DrawerLayout>
如果有其他人遇到此问题则视图层次结构冲突。您不能将抽屉放在要与之交互的元素之上。如果您有需要与之交互的按钮或其他小部件,则应将其包含在抽屉布局中。我希望这可以帮助其他人。