如何使用活动中的菜单功能设置抽屉

时间:2015-04-03 09:50:38

标签: android navigation-drawer drawertoggle

我必须为我的应用程序添加抽屉布局,因此我已经完成了活动中的布局和功能。现在,我无法使用Fragments。如何使用菜单功能设置抽屉活动?请帮帮我。这是我的主要布局

   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"`enter code here`
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:weightSum="2" >
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="0.2"
        android:background="@color/MediumSeaGreen"
        android:orientation="horizontal"
        android:weightSum="1">

        <ImageView
            android:id="@+id/notification_settings"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:layout_weight="0.85"
            android:padding="@dimen/menu_icon_padding"
            android:src="@drawable/ic_action_overflow" />
        <TextView
            android:id="@+id/mytrip_title"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:layout_weight="0.25"
            android:gravity="center"
            android:text="@string/Notification"
            android:textSize="@dimen/mytrip_title"
            android:textStyle="bold" />
    </LinearLayout>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="1.8"
        android:orientation="horizontal"
        android:weightSum="1" >
        <ListView
            android:id="@+id/notification_list_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >
        </ListView>
    </LinearLayout>
</LinearLayout>  

这就是我为抽屉设计的布局,

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#00000000"
    android:paddingRight="10dp"
    android:layout_weight="8"
    android:layout_marginLeft="10dp"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:orientation="horizontal"
      >

        <ImageView
            android:id="@+id/menu_home_icon"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:padding="@dimen/menu_icon_padding"
            android:src="@drawable/ic_launcher"
            android:gravity="center" />

        <TextView
            android:layout_marginLeft="10dp"
            android:id="@+id/menu_home_text"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="Home"
            android:textSize="@dimen/mytrip_title" />
    </LinearLayout>
    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@color/gray" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/menu_Trips_icon"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:padding="@dimen/menu_icon_padding"
            android:src="@drawable/ic_launcher"
            android:gravity="center" />

        <TextView
            android:layout_marginLeft="10dp"
            android:id="@+id/menu_trips_text"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="Trips"
            android:textSize="@dimen/mytrip_title" />
    </LinearLayout>
    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@color/gray" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/menu_notification_icon"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:padding="@dimen/menu_icon_padding"
            android:src="@drawable/ic_launcher"
            android:gravity="center" />

        <TextView
            android:layout_marginLeft="10dp"
            android:id="@+id/menu_notification_text"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="Notification"
            android:textSize="@dimen/mytrip_title" />
    </LinearLayout>
    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@color/gray" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/menu_Settings_icon"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:padding="@dimen/menu_icon_padding"
            android:src="@drawable/ic_launcher"
            android:gravity="center" />

        <TextView
            android:layout_marginLeft="10dp"
            android:id="@+id/menu_settings_text"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="Settings"
            android:textSize="@dimen/mytrip_title" />
    </LinearLayout>
    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@color/gray" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/menu_profile_icon"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:padding="@dimen/menu_icon_padding"
            android:src="@drawable/ic_launcher"
            android:gravity="center" />

        <TextView
            android:layout_marginLeft="10dp"
            android:id="@+id/menu_profile_text"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="Profile"
            android:textSize="@dimen/mytrip_title" />
    </LinearLayout>
    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@color/gray" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/menu_friends_icon"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
           android:padding="@dimen/menu_icon_padding"
            android:src="@drawable/ic_launcher"
            android:gravity="center" />

        <TextView
            android:layout_marginLeft="10dp"
            android:id="@+id/menu_friends_text"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="Friends"
            android:textSize="@dimen/mytrip_title" />
    </LinearLayout>
    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"`enter code here`
        android:background="@color/gray" />

</LinearLayout>     

在主布局中单击notification_settings imageview时,我必须查看以下设计的抽屉功能布局,请帮帮我

1 个答案:

答案 0 :(得分:0)

试试这个,

  1. 用此替换您当前的活动布局

    <android.support.v4.widget.DrawerLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/layout_drawer"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    
    
    
    <FrameLayout
    android:id="@+id/content_frame"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    
    // put your existing widgets here
    
    </FrameLayout>
    
    
    <ListView
    android:id="@+id/drawer_menu"
    android:layout_width="define your width"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:choiceMode="singleChoice"
    android:layout_weight="1"
    />
    

  2. 实例化抽屉布局,菜单列表,操作栏以及活动中的切换。

  3. 为列表定义合适的行布局并设置数据。您可以从这里轻松找到示例代码。