我正在尝试制作一个带有侧边栏的应用程序(现在是线性布局;它将是一种操作栏),左侧有一些按钮,当点击时,打开导航抽屉,当完全打开,应该在侧边栏的右侧。问题是抽屉与其他任何东西重叠。我该如何预防呢? 另外,如何从侧边栏的右侧而不是从屏幕的左侧开始抽屉?否则部分内容将被侧栏隐藏。
抽屉这是不可能的吗?我被迫使用SlidingPanelLayout吗?我在互联网上搜索但一无所获。
这是活动的xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/DrawerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/divider"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/sideBar"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@color/list_background"
android:minWidth="30dp"
android:orientation="vertical" >
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/ic_menu1"
android:minWidth="30dip"
android:minHeight="30dip" />
</LinearLayout>
<!-- the main view of the activity -->
<ListView
android:id="@+id/normalList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white" >
</ListView>
</LinearLayout>
<!-- the drawer's list -->
<ListView
android:id="@+id/list_slidermenu"
android:layout_width="200dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="@color/list_background"
android:choiceMode="singleChoice"
android:divider="@color/list_divider"
android:dividerHeight="1dp"
android:listSelector="@drawable/list_selector" />
</android.support.v4.widget.DrawerLayout>
两个列表中的单个项目:
<!-- this is for the drawer -->
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@drawable/list_selector">
<ImageView
android:id="@+id/drwrimg"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_alignParentLeft="true"
android:layout_marginLeft="12dp"
android:layout_marginRight="12dp"
android:contentDescription="@string/icondescription"
android:src="@drawable/item"
android:layout_centerVertical="true" />
<TextView
android:id="@+id/drwrtext"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_toRightOf="@id/drwrimg"
android:textColor="@color/white"
android:gravity="center_vertical"
android:paddingRight="40dp"/>
<TextView android:id="@+id/drwrcounter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/counter_bg"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="8dp"
android:textColor="@color/counter_text_color" />
</RelativeLayout>
<!-- and this for the main list -->
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/filesListDrawerLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="2dp" >
<ImageView
android:id="@+id/img"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_margin="2dp"
android:contentDescription="@string/icondescription" />
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_alignTop="@+id/img"
android:layout_toRightOf="@+id/img"
android:gravity="center_vertical"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/numberOfFiles"
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_alignBottom="@+id/img"
android:layout_below="@+id/text"
android:layout_toRightOf="@+id/img"
android:gravity="center_vertical"
android:textAppearance="?android:attr/textAppearanceSmall" />
</RelativeLayout>
侧边栏的图片现在的样子:
以及我希望如何:
编辑#2 :让问题更清晰。
编辑#3 :澄清更多并添加图片,以显示所需的结果。