无法单击DrawerLayout后面的按钮 [英] Can't click the buttons behind the DrawerLayout
问题描述
这是我的xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Main"
android:background="@android:color/black" >
<RelativeLayout
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageButton
android:id="@+id/calendar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/about"
android:layout_centerHorizontal="true"
android:background="@drawable/calendar" />
<ImageButton
android:id="@+id/okan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/calendar"
android:layout_marginLeft="20dp"
android:layout_toRightOf="@+id/calendar"
android:background="@drawable/okanliyiz"/>
<ImageButton
android:id="@+id/about"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="20dp"
android:layout_marginTop="140dp"
android:layout_toLeftOf="@+id/calendar"
android:background="@drawable/info" />
</RelativeLayout>
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="false" >
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="false" />
<ListView
android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="#111"/>
</android.support.v4.widget.DrawerLayout>
</RelativeLayout>
我写了它的程序化部分,Drawer
正常工作,只是我不能单击它后面的ImageButton
s .如果我将按钮放在前面,我可以单击它们,但是很好,然后抽屉就放在后面了,那真是太糟糕了.解决方法是什么?如何既可以单击抽屉后面的按钮,又可以看到前面的抽屉?
I wrote the programmatic part of it and the Drawer
works just fine, it's just that I cannot click the ImageButton
s behind it. If I put the buttons in front I am able to click them but well, then the drawer is left behind and that's a terrible sight. What is the work-around for this? How can I both click the buttons behind the Drawer and see the Drawer in the front?
谢谢.
推荐答案
根据应为布局的根 .它应该只有 2个孩子-一个孩子包含您的主要内容"-按钮,文本字段等.另一个孩子应该是抽屉本身的内容.像这样:
According to the Navigation Drawer guide the DrawerLayout
should be the root of your layout. It should have only 2 children - one that contains your "main content" - buttons, text fields, etc. And the other one should be the content of the drawer itself. Something like this:
<android.support.v4.widget.DrawerLayout>
<RelativeLayout>
<Button/>
<EditText/>
</RelativeLayout>
<ListView android:id="@+id/drawer_list" />
</android.support.v4.widget.DrawerLayout>
此外: 由于DrawerLayout(这是一个ViewGroup)的 Z顺序,因此两个子项的顺序很重要.列表视图应在您的主要内容之后声明,以便在其前面进行排序(并显示).
In addition: The order of the 2 children is important due to the Z-order of the DrawerLayout (which is a ViewGroup). The list view should be declared after your main content so that it's ordered(and displayed) in front of it.
这篇关于无法单击DrawerLayout后面的按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!