Toolbar使用概述

一. Toolbar

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="44dp"
    android:background="@color/colorPrimary"
    app:navigationIcon="@drawable/ic_back" <-- toolbar返回icon設(shè)置 -->
    app:popupTheme="@style/ToolbarPopupTheme"> <-- 更多menu配置 -- >
    <TextView
        android:id="@+id/toolbar_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:textColor="@color/white" />
</android.support.v7.widget.Toolbar>
app:popupTheme

menu主題配置(主要配置是否顯示在toolbar下顯示昵仅,以及menu相關(guān)屬性)
注:建議點(diǎn)擊菜單彈出PopupMenu 或 PopupWindow來(lái)替代系統(tǒng)默認(rèn)menu,以滿足需求黎炉。

需要在value-21 以及value包下该互,都配置popupTheme主題斗蒋,達(dá)到適配目的
 <style name="ToolbarPopupTheme" parent="ThemeOverlay.AppCompat.Dark">
    <item name="actionOverflowMenuStyle">@style/OverFlowMenu</item>
    <!--popupMenu item 點(diǎn)擊背景設(shè)置-->
    <item name="android:itemBackground">@drawable/popup_menu_item_slt</item>
    <!--popupMenu 寬度設(shè)置-->
    <item name="android:width">80dp</item>
    <!--popupMenu item中字體顏色設(shè)置-->
    <item name="android:textSize">16sp</item>
    <item name="android:textColor">@color/gray_900</item>
</style>

<style name="OverFlowMenu" parent="Widget.AppCompat.PopupMenu.Overflow">
    <!--false在toolbar下顯示-->
    <item name="android:overlapAnchor">false</item>
    <!--popupMenu背景-->
    <item name="android:popupBackground">@color/gray_600</item>
    <!-- 彈出層水平方向上的偏移煤惩,即距離屏幕左邊的距離爷肝,負(fù)值會(huì)導(dǎo)致右邊出現(xiàn)空隙 -->
    <item name="android:dropDownHorizontalOffset">0dp</item>
    <!-- 彈出層垂直方向上的偏移猾浦,即在豎直方向上距離Toolbar的距離,值為負(fù)則會(huì)蓋住Toolbar -->
    <item name="android:dropDownVerticalOffset">0dp</item>
</style>

二. Toolbar使用

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    TextView title = (TextView) findViewById(R.id.toolbar_title);
    setSupportActionBar(toolbar);
    ActionBar actionBar = getSupportActionBar();
    actionBar.setDisplayShowTitleEnabled(false);
    actionBar.setDisplayHomeAsUpEnabled(false);
    title.setText("自定義標(biāo)題");
    toolbar.setOverflowIcon(AppCompatResources.getDrawable(this, R.drawable.ic_more));
1. actionBar.setDisplayShowTitleEnabled(false);

控制toolbar的title是否顯示灯抛,默認(rèn)顯示app label

2. actionBar.setDisplayHomeAsUpEnabled(false);

控制返回按鈕是否顯示

3. toolbar.setOverflowIcon(AppCompatResources.getDrawable(this, R.drawable.ic_more));

自定義更多按鈕圖標(biāo)

三. menu使用

加載menu布局
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main_toolbar_menu, menu);
    return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.setting:
            Toast.makeText(this, "設(shè)置", Toast.LENGTH_SHORT).show();
            break;
    }
    return true;
}

在menu目錄下建菜單xml

<item
    android:id="@+id/setting"
    android:orderInCategory="1"
    android:icon="@drawable/ic_back"
    android:title="設(shè)置"
    app:showAsAction="never"/>
1. android:orderInCategory作用:item排序金赦,int值,值越小越靠前

菜單默認(rèn)按照item順序顯示

2. app:showAsAction作用:是否顯示在toolbar上对嚼,常用取值always夹抗、never

always: item顯示在toolbar上
never:item不顯示在toolbar上

3. android:icon:item設(shè)置icon后,顯示圖片纵竖,不顯示文字
圖一

圖二

圖3

圖一:正常顯示漠烧,app:showAsAction="never"
圖二:配置圖片,并且app:showAsAction="always"
圖三:xml中只包含一個(gè)item靡砌,并且app:showAsAction="always"

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末已脓,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子通殃,更是在濱河造成了極大的恐慌度液,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異恨诱,居然都是意外死亡媳瞪,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門照宝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蛇受,“玉大人,你說(shuō)我怎么就攤上這事厕鹃【ぱ觯” “怎么了?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵剂碴,是天一觀的道長(zhǎng)把将。 經(jīng)常有香客問(wèn)我,道長(zhǎng)忆矛,這世上最難降的妖魔是什么察蹲? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮催训,結(jié)果婚禮上洽议,老公的妹妹穿的比我還像新娘。我一直安慰自己漫拭,他們只是感情好亚兄,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著采驻,像睡著了一般审胚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上礼旅,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天膳叨,我揣著相機(jī)與錄音,去河邊找鬼各淀。 笑死懒鉴,一個(gè)胖子當(dāng)著我的面吹牛诡挂,可吹牛的內(nèi)容都是我干的碎浇。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼璃俗,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼奴璃!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起城豁,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤苟穆,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體雳旅,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡跟磨,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了攒盈。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抵拘。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖型豁,靈堂內(nèi)的尸體忽然破棺而出僵蛛,到底是詐尸還是另有隱情,我是刑警寧澤迎变,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布充尉,位于F島的核電站,受9級(jí)特大地震影響衣形,放射性物質(zhì)發(fā)生泄漏驼侠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一谆吴、第九天 我趴在偏房一處隱蔽的房頂上張望泪电。 院中可真熱鬧,春花似錦纪铺、人聲如沸相速。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)突诬。三九已至,卻和暖如春芜繁,著一層夾襖步出監(jiān)牢的瞬間旺隙,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工骏令, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蔬捷,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓榔袋,卻偏偏與公主長(zhǎng)得像周拐,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子凰兑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容