6硬鞍、底部tabBar第三方按鈕

最火開源框架MVVMhabit
一. 準(zhǔn)備工作
二. 快速上手

三. 數(shù)據(jù)綁定

  1. TextView綁定
  2. onClick綁定
  3. ImageView綁定
  4. ListView綁定
  5. RecyclerView綁定

四. 其他

  1. toolbar頭部標(biāo)題
  2. 底部tabBar第三方按鈕

1聚至、引用庫

//底部tabBar
    implementation('me.majiajie:pager-bottom-tab-strip:2.2.5') {
        exclude group: 'com.android.support'
    }

2酷勺、xml 設(shè)置標(biāo)簽 me.majiajie.pagerbottomtabstrip.PageBottomTabLayout
fragment也要用到FrameLayout

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white"
    android:orientation="vertical">
<!--fragment-->
    <FrameLayout
        android:id="@+id/frameLayout"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="#F0F0F0" />
<!--tabBar-->
    <me.majiajie.pagerbottomtabstrip.PageBottomTabLayout
        android:id="@+id/pager_bottom_tab"
        android:layout_width="match_parent"
        android:layout_height="56dp"
        app:elevation="8dp" />
</LinearLayout>

3、activity 初始化framgent相關(guān)代碼扳躬,在onCreate中調(diào)用initData就行了

四個Fragment頁面這里就不詳細(xì)寫了脆诉,創(chuàng)建類繼承Fragment就行了

//其他代碼...

private List<Fragment> mFragments;
private List<Fragment> mFragmentDatas;
//fragment切換是否刷新
private Boolean isCheck = true;

//初始化方法
public void initData() {
    initFragment();
    initBottomTab();
}

private void initFragment() {
    mFragmentDatas = new ArrayList<>();
    mFragmentDatas.add(new TabBar1Fragment());
    mFragmentDatas.add(new TabBar2Fragment());
    mFragmentDatas.add(new TabBar3Fragment());
    mFragmentDatas.add(new TabBar4Fragment());

    mFragments = new ArrayList<>();
    for (int i = 0; i < mFragmentDatas.size(); i++) {
        mFragments.add(null);
    }

    //默認(rèn)選中第一個
    addFragment(0);
}

private void initBottomTab() {
    //初始化tabBar控件
    NavigationController navigationController = binding.pagerBottomTab.material()
            .addItem(R.mipmap.yingyong, "應(yīng)用")
            .addItem(R.mipmap.huanzhe, "工作")
            .addItem(R.mipmap.xiaoxi_select, "消息")
            .addItem(R.mipmap.wode_select, "我的")
            .setDefaultColor(ContextCompat.getColor(this, R.color.black))
            .setMessageNumberColor(ContextCompat.getColor(this, R.color.blue))
            .setMessageBackgroundColor(ContextCompat.getColor(this, R.color.green))
            .build();
    //底部按鈕的點(diǎn)擊事件監(jiān)聽
    navigationController.addTabItemSelectedListener(new OnTabItemSelectedListener() {


        @Override
        public void onSelected(int index, int old) {
            addFragment(index);
        }

        @Override
        public void onRepeat(int index) {
        }
    });
}


private void addFragment(int index) {
    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    //兩種fragment加載方式甚亭,replace每次都初始化fragment;add只有第一次初始化
    if (isCheck) {
        mFragments.set(index, mFragmentDatas.get(index));
        transaction.replace(R.id.frameLayout, mFragments.get(index));
    } else {
        if (mFragments.get(index) == null) {
            mFragments.set(index, mFragmentDatas.get(index));
            transaction.add(R.id.frameLayout, mFragments.get(index));
        }
        hideFragment(transaction);
        transaction.show(mFragments.get(index));
    }
    transaction.commitAllowingStateLoss();
}

//隱藏所有的fragment
private void hideFragment(FragmentTransaction transaction) {
    for (int i = 0; i < mFragmentDatas.size(); i++) {
        if (mFragments.get(i) != null) {
            transaction.hide(mFragments.get(i));
        }
    }
}
//其他代碼...

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末击胜,一起剝皮案震驚了整個濱河市亏狰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌偶摔,老刑警劉巖暇唾,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異辰斋,居然都是意外死亡策州,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進(jìn)店門亡呵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來抽活,“玉大人,你說我怎么就攤上這事锰什∠滤叮” “怎么了?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵汁胆,是天一觀的道長梭姓。 經(jīng)常有香客問我,道長嫩码,這世上最難降的妖魔是什么誉尖? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮铸题,結(jié)果婚禮上铡恕,老公的妹妹穿的比我還像新娘。我一直安慰自己丢间,他們只是感情好探熔,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著烘挫,像睡著了一般诀艰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上饮六,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天其垄,我揣著相機(jī)與錄音,去河邊找鬼卤橄。 笑死绿满,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的窟扑。 我是一名探鬼主播棒口,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼寄月,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了无牵?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤厂抖,失蹤者是張志新(化名)和其女友劉穎茎毁,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體忱辅,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡七蜘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了墙懂。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片橡卤。...
    茶點(diǎn)故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖损搬,靈堂內(nèi)的尸體忽然破棺而出碧库,到底是詐尸還是另有隱情,我是刑警寧澤巧勤,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布嵌灰,位于F島的核電站,受9級特大地震影響颅悉,放射性物質(zhì)發(fā)生泄漏沽瞭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一剩瓶、第九天 我趴在偏房一處隱蔽的房頂上張望驹溃。 院中可真熱鬧,春花似錦延曙、人聲如沸豌鹤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽傍药。三九已至,卻和暖如春魂仍,著一層夾襖步出監(jiān)牢的瞬間拐辽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工擦酌, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留俱诸,地道東北人。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓赊舶,卻偏偏與公主長得像睁搭,于是被迫代替她去往敵國和親赶诊。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評論 2 354

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

  • Java基礎(chǔ) 什么是重載园骆,什么是重寫舔痪?有什么區(qū)別?重載(Overload):(1)Overloading是一個類中...
    勤息嘻嘻嘻閱讀 644評論 0 1
  • Fragment要點(diǎn) 1锌唾、Fragment作為Activity界面的一部分組成出現(xiàn) 2锄码、可以在一個Activity...
    玉圣閱讀 1,228評論 0 16
  • 《Android Fragment完全解析,關(guān)于碎片你所需知道的一切》 我們都知道晌涕,Android上的界面展示都是...
    cxm11閱讀 2,182評論 2 19
  • 前言 Fragment想必大家不陌生吧滋捶,在日常開發(fā)中,對于Fragment的使用也很頻繁余黎,現(xiàn)在主流的APP中重窟,基本...
    斜杠時光閱讀 2,580評論 4 22
  • 今天周一,這一天文暢還是比較聽話惧财,作業(yè)也完成的不錯巡扇,就是坐姿還是要時刻提醒。繼續(xù)努力可缚。
    文暢媽媽閱讀 118評論 0 0