Android drawerlayout listview固定位置和幻灯片framelayout

时间:2014-04-10 06:29:58

标签: android listview android-listview navigation-drawer

我使用以下代码在我的应用程序中创建Drawer菜单布局。它的工作正常,listview菜单将滑过主要内容。

但我的疑问是如何在ListLayout(主要内容)下使listview(滑动菜单)固定位置,以便在我们滑动主要内容时可以看到列表视图菜单。就像在Facebook应用程序中一样。

<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="fill_parent"
        android:layout_height="match_parent"
        android:background="#FFFFFF"
        tools:context=".MainActivity">
    <!-- The main content view -->
    <FrameLayout
            android:id="@+id/content_frame"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
    <!-- The navigation drawer -->



    <ListView
            android:id="@+id/left_drawer"
            android:layout_width="fill_parent"
            android:layout_height="match_parent"
            android:layout_gravity="right"
            android:choiceMode="singleChoice"
            android:divider="@android:color/transparent"
            android:dividerHeight="0dp"
            android:background="#FFFFFF" />

</android.support.v4.widget.DrawerLayout>

提前致谢

1 个答案:

答案 0 :(得分:0)

尝试类似的东西:

xml文件:     

<android.support.v4.widget.DrawerLayout
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <RelativeLayout
        android:id="@+id/layout_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <ImageView
            android:id="@+id/imVBatteryDrawer"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_marginRight="400dp"
            android:layout_marginTop="30dp"
            android:contentDescription="@string/battery"
            android:src="@drawable/b_full" />

        <TextView
            android:id="@+id/tVBatteryPercentageDrawer"
            android:layout_width="80dp"
            android:layout_height="50dp"
            android:layout_alignParentRight="true"
            android:layout_marginRight="410dp"
            android:layout_marginTop="40dp"
            android:gravity="center"
            android:text="100%"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textSize="20sp"
            android:textStyle="bold" />

        <ImageView
            android:id="@+id/ivOpenMenu"
            style="?menuebuttonbackground"
            android:layout_width="@dimen/ivMenuWidth"
            android:layout_height="@dimen/ivMenuHeight"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="40dp"
            android:layout_marginTop="40dp" />

        <TextView
            android:id="@+id/tViewMenu"
            android:layout_width="200dp"
            android:layout_height="40dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="30dp"
            android:layout_marginTop="40dp"
            android:gravity="right|center"
            android:text="Main Menu"
            android:textColor="#000000"
            android:textSize="25sp" />

        <ImageView
            android:id="@+id/ivChangeUser"
            style="?createUserbackground"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="40dp"
            android:layout_marginTop="680dp"
            android:padding="10dp" />

        <TextView
            android:id="@+id/tViewUserName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="160dp"
            android:layout_marginTop="710dp"
            android:text="User name"
            android:textColor="#727375"
            android:textSize="25sp" />

        <TextView
            android:id="@+id/tViewBg"
            style="?iconBooksbackground"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:layout_marginRight="40dp"
            android:layout_marginTop="680dp" />

        <TextView
            android:id="@+id/tViewBooks"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:layout_marginRight="60dp"
            android:layout_marginTop="680dp"
            android:drawablePadding="20dp"
            android:gravity="center"
            android:textColor="#727375"
            android:textSize="25sp" />
    </RelativeLayout>

    <!-- Listview to display slider menu -->

    <RelativeLayout
        android:id="@+id/relLayout"
        android:layout_width="340dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="@color/expandablelist_background" >

        <ImageView
            android:id="@+id/ivCloseMenu"
            android:layout_width="@dimen/ivMenuWidth"
            android:layout_height="@dimen/ivMenuHeight"
            android:layout_marginLeft="250dp"
            android:layout_marginTop="30dp"
            android:src="@drawable/white_menu_button" />

        <TextView
            android:id="@+id/tViewCloseMenu"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="140dp"
            android:layout_marginTop="35dp"
            android:text="Main Menu"
            android:textColor="#FFFFFF"
            android:textSize="20sp" />

        <ListView
            android:id="@+id/list_slidermenu"
            android:layout_width="340dp"
            android:layout_height="500dp"
            android:layout_alignParentTop="true"
            android:layout_marginTop="100dp"
            android:background="@color/expandablelist_background"
            android:cacheColorHint="@null"
            android:choiceMode="singleChoice"
            android:divider="@null"
            android:groupIndicator="@null" />

        <ImageView
            android:id="@+id/ivPicUser"
            style="createUserbackground"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="200dp"
            android:layout_marginTop="680dp"
            android:padding="10dp" />

        <TextView
            android:id="@+id/tViewNameUser"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:layout_marginRight="150dp"
            android:layout_marginTop="680dp"
            android:text="Name User"
            android:textColor="#FFFFFF"
            android:textSize="20sp" />

        <TextView
            android:id="@+id/tViewClassUser"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:layout_marginRight="150dp"
            android:layout_marginTop="710dp"
            android:text="Class:"
            android:textColor="#FFFFFF"
            android:textSize="20sp" />

        <TextView
            android:id="@+id/tViewSchoolName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:layout_marginRight="150dp"
            android:layout_marginTop="740dp"
            android:text="School Name:"
            android:textColor="#FFFFFF"
            android:textSize="20sp" />
    </RelativeLayout>
</android.support.v4.widget.DrawerLayout>

java代码:

    @Override
    public void setContentView(final int layoutResID) {
        fullLayout = (RelativeLayout) getLayoutInflater().inflate(
                R.layout.drawer_activity, null);
        actContent = (RelativeLayout) fullLayout
                .findViewById(R.id.layout_container);
        getLayoutInflater().inflate(layoutResID, actContent, true);
        super.setContentView(fullLayout);
}