试图制作一个不与另一个视图重叠的导航抽屉

时间:2014-04-09 12:08:56

标签: android android-layout navigation-drawer

我正在尝试制作一个带有侧边栏的应用程序(现在是线性布局;它将是一种操作栏),左侧有一些按钮,当点击时,打开导航抽屉,当完全打开,应该在侧边栏的右侧。问题是抽屉与其他任何东西重叠。我该如何预防呢? 另外,如何从侧边栏的右侧而不是从屏幕的左侧开始抽屉?否则部分内容将被侧栏隐藏。

抽屉这是不可能的吗?我被迫使用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>

侧边栏的图片现在的样子:

situation

以及我希望如何:

aim

编辑#2 :让问题更清晰。

编辑#3 :澄清更多并添加图片,以显示所需的结果。

0 个答案:

没有答案