【Android】?jī)煞N抽屜寫法(NavigationView和Toolbar互動(dòng))

其實(shí)這兩種的效果差不多捻浦,只是第一種的抽屜比較高秒梅,把Toolbar都蓋住了,看不到Toolbar上三道桿的動(dòng)畫瘤睹;另一種嘛升敲,就是抽屜在Toolbar下方,三道桿變成箭頭的動(dòng)畫可以完整展現(xiàn)轰传。來先看效果圖驴党。

第一種:

第二種:

第一種寫法非常簡(jiǎn)單,不用寫一行代碼获茬,用studio可以直接創(chuàng)建港庄,所以你才會(huì)看到抽屜中還有布局,而在第二種寫法中恕曲,我偷懶鹏氧,什么也沒寫,一片空白佩谣。

下面分別介紹下兩種抽屜的寫法度帮。


第一種寫法的詳細(xì)介紹:

撿重點(diǎn)的說,創(chuàng)建工程時(shí)稿存,默認(rèn)會(huì)創(chuàng)建Empty Activity笨篷,現(xiàn)在只需要改為Navigation Drawer Activity,請(qǐng)看圖:

然后一路Next瓣履,工程創(chuàng)好率翅,run一下,效果就出來了袖迎。

這里有一個(gè)細(xì)節(jié)冕臭,直接創(chuàng)建的項(xiàng)目中會(huì)多出一個(gè)menu菜單和一個(gè)懸浮按鈕FloatingActionButton腺晾,結(jié)合自身情況,決定是刪是留辜贵,如圖:


第二種寫法的詳細(xì)介紹:

布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar_main"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/colorPrimary"
        android:theme="@style/GalaxyZooThemeToolbarDarkOverflow"/>

    <android.support.v4.widget.DrawerLayout
        android:id="@+id/drawer_layout"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        tools:openDrawer="start">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="Hello World"/>

        <android.support.design.widget.NavigationView
            android:id="@+id/nav_view"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            android:fitsSystemWindows="true"/>

    </android.support.v4.widget.DrawerLayout>

</LinearLayout>

注意悯蝉,我在toolbar上增加了一個(gè)style(改變Toobar上圖標(biāo)和文字的顏色)

android:theme="@style/GalaxyZooThemeToolbarDarkOverflow"

需要在styles.xml中定義:

<style name="GalaxyZooThemeToolbarDarkOverflow" parent="Theme.AppCompat.NoActionBar">
        <!--這個(gè)是toolbar文字的顏色-->
        <item name="android:textColorPrimary">#fff</item>
        <!--這個(gè)是toolbar左邊三道桿的顏色-->
        <item name="android:textColorSecondary">#fff</item>
    </style>

接下來是MainActivity:

ActionBarDrawerToggle,我用的是v7包的托慨,它是用來讓NavigationView和Toolbar上三道桿互動(dòng)的鼻由。

import android.os.Bundle;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_main);
        setSupportActionBar(toolbar);

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                this, drawer, toolbar, 0, 0);
        drawer.setDrawerListener(toggle);
        toggle.syncState();
    }

    /**
     * 重寫返回鍵方法
     * 若抽屜在打開狀態(tài),點(diǎn)返回鍵厚棵,只關(guān)抽屜蕉世,不退出程序。
     */
    @Override
    public void onBackPressed() {
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        if (drawer.isDrawerOpen(GravityCompat.START)) {
            drawer.closeDrawer(GravityCompat.START);
        } else {
            super.onBackPressed();
        }
    }
}

本文完婆硬。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末狠轻,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子彬犯,更是在濱河造成了極大的恐慌向楼,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谐区,死亡現(xiàn)場(chǎng)離奇詭異蜜自,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)卢佣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門重荠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人虚茶,你說我怎么就攤上這事戈鲁。” “怎么了嘹叫?”我有些...
    開封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵婆殿,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我罩扇,道長(zhǎng)婆芦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任喂饥,我火速辦了婚禮消约,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘员帮。我一直安慰自己或粮,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開白布捞高。 她就那樣靜靜地躺著氯材,像睡著了一般渣锦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上氢哮,一...
    開封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天袋毙,我揣著相機(jī)與錄音,去河邊找鬼冗尤。 笑死听盖,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的生闲。 我是一名探鬼主播媳溺,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼月幌,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼碍讯!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起扯躺,我...
    開封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤捉兴,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后录语,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體倍啥,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年澎埠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了虽缕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蒲稳,死狀恐怖氮趋,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情江耀,我是刑警寧澤剩胁,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站祥国,受9級(jí)特大地震影響昵观,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜舌稀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一啊犬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧壁查,春花似錦椒惨、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽领斥。三九已至,卻和暖如春沃暗,著一層夾襖步出監(jiān)牢的瞬間月洛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工孽锥, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留嚼黔,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓惜辑,卻偏偏與公主長(zhǎng)得像唬涧,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子盛撑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

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