- 将主页的布局格式改为android.support.v4.widget.DrawerLayout
- 设置主内容区(可以是任意布局形式)
- 设置侧边栏(抽屉布局)RelativeLayout
设置:android:layout_gravity=”left” ,属性设置从那边拉出
4.点击侧边栏内容想关闭侧边栏就
侧边栏跟布局变量名..closeDrawer(抽屉布局变量名)
<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="match_parent"
android:layout_height="match_parent">
<!--主内容区域的视图-->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<RadioGroup
android:id="@+id/rel_navigate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal">
<RadioButton
android:id="@+id/rb_index"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/rb_selector"
android:button="@null"
android:checked="true"
android:gravity="center"
android:padding="3dp"
android:text="首页" />
<RadioButton
android:id="@+id/rb_video"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/rb_selector"
android:button="@null"
android:gravity="center"
android:padding="3dp"
android:text="视频" />
<RadioButton
android:id="@+id/rb_top"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/rb_selector"
android:button="@null"
android:gravity="center"
android:padding="3dp"
android:text="微头条" />
<RadioButton
android:id="@+id/rb_me"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/rb_selector"
android:button="@null"
android:gravity="center"
android:padding="3dp"
android:text="我的" />
</RadioGroup>
<FrameLayout
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#f0f"
android:layout_above="@id/rel_navigate"></FrameLayout>
</RelativeLayout>
<!--抽屉展示的布局-->
<RelativeLayout
android:id="@+id/relative_layout"
android:layout_width="300dp"
android:layout_height="match_parent"
android:layout_gravity="left"
android:background="#ffffff">
<ImageView
android:id="@+id/image"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:src="@mipmap/ic_launcher" />
<ListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/image"
android:layout_marginTop="20dp">
</ListView>
</RelativeLayout>
</android.support.v4.widget.DrawerLayout>
布局中的点击变色的xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@android:color/holo_red_dark"></item>
<item android:drawable="@android:color/holo_blue_dark"></item>
</selector>
关闭侧边栏的java代码
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);