我使用DrawerLayout
为我的应用添加了一些快捷菜单。
Drawerlayout工作但我的问题是当抽屉打开主要布局内容时,Buttons
,TextViews
和其他UI控件在打开的抽屉上可见。这是我的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=".MainActivity"
android:background="@color/icons"
android:focusableInTouchMode="true">
<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:background="#ffffff"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp" />
</android.support.v4.widget.DrawerLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/rl">
<Button
android:layout_width="60dp"
android:layout_height="wrap_content"
android:id="@+id/button"
android:drawableTop="@drawable/fan_blade1"
android:drawablePadding="-20dp"
android:textColor="#ffffff"
android:background="@drawable/btn_black"
android:layout_marginLeft="30dp"
android:layout_marginStart="30dp"
android:layout_below="@+id/button7"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<SeekBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/button"
android:layout_marginTop="30dp"
android:layout_marginEnd="30dp"
android:layout_marginRight="30dp"
android:layout_alignLeft="@+id/button"
android:layout_alignStart="@+id/button"
android:id="@+id/seekBar"
android:thumb="@drawable/seek_thumb"
android:progressDrawable="@drawable/progressbr"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView5"
android:text="speed"
android:layout_alignTop="@+id/button2"
android:layout_alignRight="@+id/imageView"
android:layout_alignEnd="@+id/imageView" />
<Button
android:layout_width="60dp"
android:layout_height="wrap_content"
android:text="S1"
android:id="@+id/button2"
android:textColor="#ffffff"
android:background="@drawable/btn_black"
android:layout_below="@+id/seekBar"
android:layout_alignLeft="@+id/seekBar"
android:layout_alignStart="@+id/seekBar"
android:layout_marginTop="30dp" />
<Button
android:layout_width="60dp"
android:layout_height="wrap_content"
android:text="S2"
android:id="@+id/button3"
android:textColor="#ffffff"
android:background="@drawable/btn_black"
android:layout_below="@+id/button2"
android:layout_alignLeft="@+id/button2"
android:layout_alignStart="@+id/button2"
android:layout_marginTop="30dp" />
<Button
android:layout_width="60dp"
android:layout_height="wrap_content"
android:text="S3"
android:id="@+id/button4"
android:textColor="#ffffff"
android:background="@drawable/btn_black"
android:layout_below="@+id/button3"
android:layout_alignLeft="@+id/button3"
android:layout_alignStart="@+id/button3"
android:layout_marginTop="30dp" />
<Button
android:layout_width="60dp"
android:layout_height="wrap_content"
android:drawablePadding="-20dp"
android:id="@+id/button5"
android:textColor="#ffffff"
android:drawableTop="@drawable/shutdown_icon1"
android:background="@drawable/btn_black"
android:layout_below="@+id/button4"
android:layout_alignLeft="@+id/button4"
android:layout_alignStart="@+id/button4"
android:layout_marginTop="30dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="out command"
android:id="@+id/textView3"
android:layout_marginLeft="20dp"
android:layout_marginStart="20dp"
android:layout_above="@+id/button3"
android:layout_toRightOf="@+id/button2"
android:layout_toEndOf="@+id/button2" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="in command"
android:id="@+id/textView4"
android:layout_above="@+id/button4"
android:layout_alignLeft="@+id/textView3"
android:layout_alignStart="@+id/textView3" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:src="@drawable/wheel1"
android:contentDescription="test"
android:layout_marginTop="30dp"
android:layout_alignBottom="@+id/button"
android:layout_toLeftOf="@+id/button7"
android:layout_toStartOf="@+id/button7" />
<ImageView
android:layout_width="25dp"
android:layout_height="25dp"
android:id="@+id/button7"
android:background="@drawable/red"
android:clickable="false"
android:layout_marginTop="7dp"
android:layout_marginRight="7dp"
android:layout_marginEnd="7dp"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
</RelativeLayout>
答案 0 :(得分:2)
将您的布局更改为:
<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:background="@color/icons"
android:focusableInTouchMode="true"
tools:context=".MainActivity">
<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" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/rl">
<Button
android:layout_width="60dp"
android:layout_height="wrap_content"
android:id="@+id/button"
android:drawableTop="@drawable/fan_blade1"
android:drawablePadding="-20dp"
android:textColor="#ffffff"
android:background="@drawable/btn_black"
android:layout_marginLeft="30dp"
android:layout_marginStart="30dp"
android:layout_below="@+id/button7"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<SeekBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/button"
android:layout_marginTop="30dp"
android:layout_marginEnd="30dp"
android:layout_marginRight="30dp"
android:layout_alignLeft="@+id/button"
android:layout_alignStart="@+id/button"
android:id="@+id/seekBar"
android:thumb="@drawable/seek_thumb"
android:progressDrawable="@drawable/progressbr"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView5"
android:text="speed"
android:layout_alignTop="@+id/button2"
android:layout_alignRight="@+id/imageView"
android:layout_alignEnd="@+id/imageView" />
<Button
android:layout_width="60dp"
android:layout_height="wrap_content"
android:text="S1"
android:id="@+id/button2"
android:textColor="#ffffff"
android:background="@drawable/btn_black"
android:layout_below="@+id/seekBar"
android:layout_alignLeft="@+id/seekBar"
android:layout_alignStart="@+id/seekBar"
android:layout_marginTop="30dp" />
<Button
android:layout_width="60dp"
android:layout_height="wrap_content"
android:text="S2"
android:id="@+id/button3"
android:textColor="#ffffff"
android:background="@drawable/btn_black"
android:layout_below="@+id/button2"
android:layout_alignLeft="@+id/button2"
android:layout_alignStart="@+id/button2"
android:layout_marginTop="30dp" />
<Button
android:layout_width="60dp"
android:layout_height="wrap_content"
android:text="S3"
android:id="@+id/button4"
android:textColor="#ffffff"
android:background="@drawable/btn_black"
android:layout_below="@+id/button3"
android:layout_alignLeft="@+id/button3"
android:layout_alignStart="@+id/button3"
android:layout_marginTop="30dp" />
<Button
android:layout_width="60dp"
android:layout_height="wrap_content"
android:drawablePadding="-20dp"
android:id="@+id/button5"
android:textColor="#ffffff"
android:drawableTop="@drawable/shutdown_icon1"
android:background="@drawable/btn_black"
android:layout_below="@+id/button4"
android:layout_alignLeft="@+id/button4"
android:layout_alignStart="@+id/button4"
android:layout_marginTop="30dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="out command"
android:id="@+id/textView3"
android:layout_marginLeft="20dp"
android:layout_marginStart="20dp"
android:layout_above="@+id/button3"
android:layout_toRightOf="@+id/button2"
android:layout_toEndOf="@+id/button2" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="in command"
android:id="@+id/textView4"
android:layout_above="@+id/button4"
android:layout_alignLeft="@+id/textView3"
android:layout_alignStart="@+id/textView3" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:src="@drawable/wheel1"
android:contentDescription="test"
android:layout_marginTop="30dp"
android:layout_alignBottom="@+id/button"
android:layout_toLeftOf="@+id/button7"
android:layout_toStartOf="@+id/button7" />
<ImageView
android:layout_width="25dp"
android:layout_height="25dp"
android:id="@+id/button7"
android:background="@drawable/red"
android:clickable="false"
android:layout_marginTop="7dp"
android:layout_marginRight="7dp"
android:layout_marginEnd="7dp"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
</RelativeLayout>
<ListView
android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="#ffffff"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp" />
</android.support.v4.widget.DrawerLayout>
</RelativeLayout>
您的内容需要放在DrawerLayout
内,您打算通过FrameLayout
将内容放在Fragment
内,但为了快速解决问题,上述布局应该对您有用
答案 1 :(得分:2)
您必须将抽屉布局作为父布局,并且相对布局应该是drawerlayout中的子项。这样做
<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"
xmlns:tools="http://schemas.android.com/tools"
>
<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:background="#ffffff"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp" />
<RelativeLayout android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:background="@color/icons"
android:focusableInTouchMode="true">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/rl">
<Button
android:layout_width="60dp"
android:layout_height="wrap_content"
android:id="@+id/button"
android:drawableTop="@drawable/fan_blade1"
android:drawablePadding="-20dp"
android:textColor="#ffffff"
android:background="@drawable/btn_black"
android:layout_marginLeft="30dp"
android:layout_marginStart="30dp"
android:layout_below="@+id/button7"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<SeekBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/button"
android:layout_marginTop="30dp"
android:layout_marginEnd="30dp"
android:layout_marginRight="30dp"
android:layout_alignLeft="@+id/button"
android:layout_alignStart="@+id/button"
android:id="@+id/seekBar"
android:thumb="@drawable/seek_thumb"
android:progressDrawable="@drawable/progressbr"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView5"
android:text="speed"
android:layout_alignTop="@+id/button2"
android:layout_alignRight="@+id/imageView"
android:layout_alignEnd="@+id/imageView" />
<Button
android:layout_width="60dp"
android:layout_height="wrap_content"
android:text="S1"
android:id="@+id/button2"
android:textColor="#ffffff"
android:background="@drawable/btn_black"
android:layout_below="@+id/seekBar"
android:layout_alignLeft="@+id/seekBar"
android:layout_alignStart="@+id/seekBar"
android:layout_marginTop="30dp" />
<Button
android:layout_width="60dp"
android:layout_height="wrap_content"
android:text="S2"
android:id="@+id/button3"
android:textColor="#ffffff"
android:background="@drawable/btn_black"
android:layout_below="@+id/button2"
android:layout_alignLeft="@+id/button2"
android:layout_alignStart="@+id/button2"
android:layout_marginTop="30dp" />
<Button
android:layout_width="60dp"
android:layout_height="wrap_content"
android:text="S3"
android:id="@+id/button4"
android:textColor="#ffffff"
android:background="@drawable/btn_black"
android:layout_below="@+id/button3"
android:layout_alignLeft="@+id/button3"
android:layout_alignStart="@+id/button3"
android:layout_marginTop="30dp" />
<Button
android:layout_width="60dp"
android:layout_height="wrap_content"
android:drawablePadding="-20dp"
android:id="@+id/button5"
android:textColor="#ffffff"
android:drawableTop="@drawable/shutdown_icon1"
android:background="@drawable/btn_black"
android:layout_below="@+id/button4"
android:layout_alignLeft="@+id/button4"
android:layout_alignStart="@+id/button4"
android:layout_marginTop="30dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="out command"
android:id="@+id/textView3"
android:layout_marginLeft="20dp"
android:layout_marginStart="20dp"
android:layout_above="@+id/button3"
android:layout_toRightOf="@+id/button2"
android:layout_toEndOf="@+id/button2" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="in command"
android:id="@+id/textView4"
android:layout_above="@+id/button4"
android:layout_alignLeft="@+id/textView3"
android:layout_alignStart="@+id/textView3" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:src="@drawable/wheel1"
android:contentDescription="test"
android:layout_marginTop="30dp"
android:layout_alignBottom="@+id/button"
android:layout_toLeftOf="@+id/button7"
android:layout_toStartOf="@+id/button7" />
<ImageView
android:layout_width="25dp"
android:layout_height="25dp"
android:id="@+id/button7"
android:background="@drawable/red"
android:clickable="false"
android:layout_marginTop="7dp"
android:layout_marginRight="7dp"
android:layout_marginEnd="7dp"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />