ActionBar

MainActivty.java

package com.loaderman.testactionbar;

import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

/**
 * 继承AppCompatActivity的目的,为了兼容ActionBar效果
 * TitleBar-->ActionBar-->ToolBar
 *
 * ActionBar比titleBar增加了哪些功能?
 * ToolBar:它可以融入到我们自己的布局文件,会更加好配置
 *
 * V7包的目的:为了达到ActionBar效果的兼容
 *
 *
 * 兼容性:
 * V4:Fragment
 * V7:ActionBar效果的兼容
 * 属性动画的兼容:nineoldandroid.jar
 *
 *
 */
public class MainActivity extends AppCompatActivity {

    private DrawerLayout drawerLayout;
    private ActionBarDrawerToggle toggle;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        drawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
        initActionBar();
    }

    private void initActionBar() {
        ActionBar actionBar = getSupportActionBar();
        actionBar.setTitle("标题文字");
        actionBar.setDisplayHomeAsUpEnabled(true);//是否显示返回箭头
        //actionBar.setDisplayShowHomeEnabled(true);//是否显示图标
        //开关
        toggle = new ActionBarDrawerToggle(this, drawerLayout, R.string.open, R.string.close);
        toggle.syncState();//同步状态
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main_menu,menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int menuId = item.getItemId();
        if(menuId == R.id.menu1) {
            Toast.makeText(this, "设置1被点击了", Toast.LENGTH_SHORT).show();
        } else if(menuId == android.R.id.home) {
           // finish();
            toggle.onOptionsItemSelected(item);
        }
        return super.onOptionsItemSelected(item);
    }
}

 activty_main.xml

<?xml version="1.0" encoding="utf-8"?>

<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawerLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <android.support.v4.widget.SwipeRefreshLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="cn.loaderman.testactionbar.MainActivity">
     <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hello World!"/>
    </RelativeLayout>
    </android.support.v4.widget.SwipeRefreshLayout>
    <FrameLayout
        android:layout_gravity="left"
        android:layout_width="match_parent"
        android:background="#F00"
        android:layout_height="match_parent"></FrameLayout>
</android.support.v4.widget.DrawerLayout>

 main_menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto"
    >
    <item
        android:id="@+id/menu1"
        android:icon="@mipmap/ic_launcher"
        android:orderInCategory="10"
        android:title="设置1"
        app:showAsAction="always"
        ></item>
    <item
        android:id="@+id/menu2"
        android:orderInCategory="30"
        android:title="设置2"
        ></item>
    <item
        android:id="@+id/menu3"
        android:orderInCategory="5"
        android:title="设置3"
        ></item>
</menu>
原文地址:https://www.cnblogs.com/loaderman/p/6821933.html