我已经创建了一个自定义滑动菜单,但它似乎占用了所有屏幕。我的意思是我不能点击布局上的其他项目。它并不总是开放的,只是实际上禁用了它下面的所有项目。我已将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"
android:gravity="bottom"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".HomeActivity">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="132dp"
android:text="@string/name"
android:textSize="25sp" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/textView1"
android:layout_alignParentLeft="true"
android:contentDescription="@string/description1"
android:src="@drawable/fam" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="@string/enter" />
<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/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ListView android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="#666"
android:dividerHeight="1dp"
android:background="#333"
android:paddingLeft="15sp"
android:paddingRight="15sp" />
</android.support.v4.widget.DrawerLayout>
</RelativeLayout>
答案 0 :(得分:0)
尝试使用此而不是match_parent:
android:layout_height="wrap_content"
答案 1 :(得分:0)
请更改宽度
<ListView android:id="@+id/left_drawer"
android:layout_width="match_parent"//not indp
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="#666"
android:dividerHeight="1dp"
android:background="#333"
android:paddingLeft="15sp"
android:paddingRight="15sp"
/>
和抽屉应该是所有视图的父亲请尝试这个
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="bottom"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".HomeActivity" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="132dp"
android:text="@string/name"
android:textSize="25sp" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/textView1"
android:layout_alignParentLeft="true"
android:contentDescription="@string/description1"
android:src="@drawable/fam" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="@string/enter" />
</RelativeLayout>
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ListView android:id="@+id/left_drawer"
android:layout_width="match_parent"//not indp
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="#666"
android:dividerHeight="1dp"
android:background="#333"
android:paddingLeft="15sp"
android:paddingRight="15sp"
/>
答案 2 :(得分:0)
只需将android:layout_below="@+id/button1"
设置为DrawerLayout
,如下所示:
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button1"> //set your drawer layout at the bottom of your `Button`.
答案 3 :(得分:0)
请查看Android开发者关于DrawerLayout的培训文章 - http://developer.android.com/training/implementing-navigation/nav-drawer.html#top
从我的观点来看,似乎你没有正确使用它。如上文所述:以下布局使用具有两个子视图的DrawerLayout:一个FrameLayout包含主要内容(在运行时由Fragment填充),以及一个用于导航抽屉的ListView。 < / p>
此框架布局用于您的活动内容。所以你必须使用片段
<FrameLayout android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent" />
此ListView是导航抽屉的内容
<ListView android:id="@+id/left_drawer" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:choiceMode="singleChoice" android:divider="#666" android:dividerHeight="1dp" android:background="#333" android:paddingLeft="15sp" android:paddingRight="15sp" />
所以将其他组件放入片段。
答案 4 :(得分:0)
我也有同样的问题,下面的代码对我有用。使用它而不是匹配父: 机器人:layout_height = “WRAP_CONTENT”
答案 5 :(得分:0)
android:layout_marginTop="200dp"
我的代码中有这个功能。我把android:layout_height =&#34; wrap_content&#34;我删除了marginTop,我的全高度SlidingDrawer。