V7-ToolBar的使用—替代actionbar

它用來代替ActionBar,但是比ActionBar更加靈活,相當(dāng)于可以寫在布局文件中的ActionBar;與DrawerLayout的使用的時(shí)候,DrawerLayout可以覆蓋在ToolBar上,并且ToolBar和ActionBar不能同時(shí)使用

使用

隱藏actionbar

//先隱藏ActionBar,可以繼承一個(gè)不帶ActionBar的Theme,如:
style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"

布局文件中引用

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/colorPrimary"
            app:title="@string/app_name" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="left"
        android:background="#FFF"
        android:gravity="center">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="我不是SlideMenu"
            android:textColor="@color/colorPrimary"
            android:textSize="30sp" />
    </LinearLayout>
</android.support.v4.widget.DrawerLayout>

ToolBar替代ActionBar--在Activity中設(shè)置

/**
 * 設(shè)置toolbar
 */
private void setToolbar() {
    //替代actionbar
    setSupportActionBar(toolbar);
    //獲取actionbar對(duì)象
    ActionBar actionBar = getSupportActionBar();
    actionBar.setTitle("應(yīng)用詳情");
    //設(shè)置ActionBar的home按鈕可用---啟用actionbar的home按鈕可用
    actionBar.setDisplayHomeAsUpEnabled(true);
    actionBar.setDisplayShowHomeEnabled(true);
}

toolBar.setTitle("ToolBar");//設(shè)置標(biāo)題
toolBar.setNavigationIcon(iconRes);//設(shè)置圖標(biāo)
toolBar.setOnMenuItemClickListener();//設(shè)置Menu Item點(diǎn)擊

設(shè)置actionbar的home按鈕的點(diǎn)擊事件

@Override
public boolean onOptionsItemSelected (MenuItem item){
    if (item.getItemId() == android.R.id.home) {
        //如果當(dāng)前點(diǎn)擊的是home按鈕,才退出
        //直接寫finish他暴力--因?yàn)閍ctionbar上可能會(huì)有好多按鈕
        finish();
    }
    return super.onOptionsItemSelected(item);
}

給actionbar添加菜單按鈕

//添加菜單按鈕
@Override
public boolean onCreateOptionsMenu (Menu menu){
    getMenuInflater().inflate(R.menu.main, menu);
    return super.onCreateOptionsMenu(menu);
}

+菜單按鈕的布局

<?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/search"
        android:enabled="true"
        android:icon="@drawable/ic_about"
        android:title="搜索"
        app:showAsAction="always" />
</menu>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,036評(píng)論 25 709
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程,因...
    小菜c閱讀 7,330評(píng)論 0 17
  • 不怕跌倒,所以飛翔 ToolBar ToolBar其實(shí)是一個(gè)ActionBar的變體,大大的擴(kuò)展了ToolBar,...
    筆墨Android閱讀 1,584評(píng)論 0 5
  • 今天在編譯自己項(xiàng)目的時(shí)候出現(xiàn)編譯失敗(AS版本2.1.2),失敗原因如圖1: 意思是不能刪除這個(gè)路徑下的res文件...
    Q1an閱讀 1,559評(píng)論 0 1
  • 2017年5月3日星期三晴 學(xué)經(jīng)人員:琪佳媽、琪琪、佳佳。 寶貝年齡:琪琪8歲11個(gè)月,佳佳7歲8個(gè)月。 學(xué)經(jīng)周期...
    順德琪佳媽閱讀 463評(píng)論 0 4

友情鏈接更多精彩內(nèi)容