DrawerLayout
使用v4支持库中DrawerLayout可以实现侧滑菜单,在旧版本的v4库中没有DrawerLayout这个类,关联“android-support-v7-appcompat”库,这个库中的v4和我们项目中的v4包不是同一个版本,我们需要保持两个v4的版本一致,把v7库的v4复制到我们项目中即可。
修改activity_main.xml,使用DrawerLayout作为根布局,并添加菜单布局,如下:
<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">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
<!-- 菜单布局 -->
<FrameLayout
android:layout_width="240dp"
android:layout_height="match_parent"
android:background="@android:color/black"
android:layout_gravity="start" />
添加ActionBar
在Android 3.0(API 11)的时候出现了ActionBar,ActionBar替代了统计的标题栏,ActionBar不但可以显示标题,还可以显示应用图标,还可以增加选项菜单,还可以有导航功能。
要想让ActionBar在3.0版本以下也能使用,可使用v7支持库中的ActionBarActivity,用了ActionBarActivity后则必须使用一个Theme.AppCompat或它的子类主题 。
此时的ActionBar只有应用图标和标题,我们可以给ActionBar增加一个菜单按钮,在MainActivity的onCreate方法中调用initAcionBar方法,如下:
private void initActionBar() {
// 获取到一个向下兼容的ActionBar
ActionBar actionBar = getSupport