精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Android底部導(dǎo)航欄實(shí)現(xiàn)(四)之TabLayout+ViewPager

移動(dòng)開發(fā) Android
這里簡單記錄一下通過TabLayout+ViewPager來實(shí)現(xiàn)Android底部導(dǎo)航欄。

 這里簡單記錄一下通過TabLayout+ViewPager來實(shí)現(xiàn)Android底部導(dǎo)航欄。 

 

 

  

 

 

 

布局 

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  3.                 xmlns:app="http://schemas.android.com/apk/res-auto" 
  4.                 android:layout_width="match_parent" 
  5.                 android:layout_height="match_parent" 
  6.                 android:orientation="vertical"
  7.  
  8.     <include layout="@layout/fragment_content"/> 
  9.  
  10.     <LinearLayout 
  11.         android:layout_width="match_parent" 
  12.         android:layout_height="match_parent" 
  13.         android:orientation="vertical"
  14.  
  15.  
  16.         <android.support.v4.view.ViewPager 
  17.             android:id="@+id/view_pager" 
  18.             android:layout_width="match_parent" 
  19.             android:layout_height="0dp" 
  20.             android:layout_weight="1"></android.support.v4.view.ViewPager> 
  21.  
  22.         <android.support.design.widget.TabLayout 
  23.             android:id="@+id/tab_layout" 
  24.             android:layout_width="match_parent" 
  25.             android:layout_height="56dp" 
  26.             app:tabBackground="@color/white" 
  27.             app:tabIndicatorHeight="0dp" 
  28.             app:tabSelectedTextColor="@color/colorPrimary" 
  29.             app:tabTextAppearance="@style/tabTextSizeStyle" 
  30.             app:tabTextColor="@color/black_1"></android.support.design.widget.TabLayout> 
  31.     </LinearLayout> 
  32. </RelativeLayout>  

代碼 

  1. mViewPager = (ViewPager) view.findViewById(R.id.view_pager); 
  2.         mTabLayout = (TabLayout) view.findViewById(R.id.tab_layout); 
  3.         initTabList(); 
  4.         mAdapter = new TabLayoutFragmentAdapter(getChildFragmentManager(), mTabList, getActivity(), mFragments, mTabImgs); 
  5.         mViewPager.setAdapter(mAdapter); 
  6.         mViewPager.setCurrentItem(0); 
  7.         mTabLayout.setupWithViewPager(mViewPager); 
  8.         mTabLayout.setTabMode(TabLayout.MODE_FIXED);//設(shè)置TabLayout的模式 
  9.         for (int i = 0; i < mTabLayout.getTabCount(); i++) { 
  10.             mTabLayout.getTabAt(i).setCustomView(mAdapter.getTabView(i)); 
  11.         } 
  12.         mTabLayout.addOnTabSelectedListener(this);//設(shè)置TabLayout的選中監(jiān)聽  

這里需要注意的就是TabLayout的使用。TabLayou配合ViewPager使用。要用 mTabLayout.setupWithViewPager(mViewPager);使二者聯(lián)系起來。另外這里面使用的是customView,當(dāng)然TabLayout自帶方法也可實(shí)現(xiàn)icon+text的效果。也就是效果:TabLayout + ViewPager 2

根據(jù)Tab選中狀態(tài)顯示Tab鍵效果 

  1. @Override 
  2.    public void onTabSelected(TabLayout.Tab tab) { 
  3.        setTabSelectedState(tab); 
  4.    } 
  5.  
  6.    @Override 
  7.    public void onTabUnselected(TabLayout.Tab tab) { 
  8.        setTabUnSelectedState(tab); 
  9.    } 
  10.  
  11.  
  12.    @Override 
  13.    public void onTabReselected(TabLayout.Tab tab) { 
  14.  
  15.    } 
  16.  
  17.  
  18.  
  19.  
  20. private void setTabSelectedState(TabLayout.Tab tab) { 
  21.        View customView = tab.getCustomView(); 
  22.        TextView tabText = (TextView) customView.findViewById(R.id.tv_tab_text); 
  23.        ImageView tabIcon = (ImageView) customView.findViewById(R.id.iv_tab_icon); 
  24.        tabText.setTextColor(ContextCompat.getColor(getActivity(), R.color.colorPrimary)); 
  25.        String s = tabText.getText().toString(); 
  26.        if (getString(R.string.item_home).equals(s)) { 
  27.            tabIcon.setImageResource(R.drawable.home_fill); 
  28.        } else if (getString(R.string.item_location).equals(s)) { 
  29.            tabIcon.setImageResource(R.drawable.location_fill); 
  30.        } else if (getString(R.string.item_like).equals(s)) { 
  31.            tabIcon.setImageResource(R.drawable.like_fill); 
  32.        } else if (getString(R.string.item_person).equals(s)) { 
  33.            tabIcon.setImageResource(R.drawable.person_fill); 
  34.        } 
  35.    } 
  36.  
  37.    private void setTabUnSelectedState(TabLayout.Tab tab) { 
  38.        View customView = tab.getCustomView(); 
  39.        TextView tabText = (TextView) customView.findViewById(R.id.tv_tab_text); 
  40.        ImageView tabIcon = (ImageView) customView.findViewById(R.id.iv_tab_icon); 
  41.        tabText.setTextColor(ContextCompat.getColor(getActivity(), R.color.black_1)); 
  42.        String s = tabText.getText().toString(); 
  43.        if (getString(R.string.item_home).equals(s)) { 
  44.            tabIcon.setImageResource(R.drawable.home); 
  45.        } else if (getString(R.string.item_location).equals(s)) { 
  46.            tabIcon.setImageResource(R.drawable.location); 
  47.        } else if (getString(R.string.item_like).equals(s)) { 
  48.            tabIcon.setImageResource(R.drawable.like); 
  49.        } else if (getString(R.string.item_person).equals(s)) { 
  50.            tabIcon.setImageResource(R.drawable.person); 
  51.        } 
  52.    }  

這里面不用設(shè)置defaultFragment,TabLayout會(huì)默認(rèn)顯示***個(gè);

另外,這里也貼出使用TabLayout自帶方法來實(shí)現(xiàn)效果代碼

值得說的是,自帶方法不能自定義icon和text的間距。用起來很方便,但是可能不是你要求的那個(gè)尺寸大小。我沒有去深究這里面的源碼。如果有人知道這個(gè)自帶方法怎么改變的,也請(qǐng)告知一下。 

  1.  mViewPager = (ViewPager) view.findViewById(R.id.view_pager); 
  2.         mTabLayout = (TabLayout) view.findViewById(R.id.tab_layout); 
  3.         initTabList(); 
  4.         mAdapter = new TabLayoutFragment2Adapter(getChildFragmentManager(), mTabList, getActivity(), mFragments, mTabImgs); 
  5.         mViewPager.setAdapter(mAdapter); 
  6.         mViewPager.setCurrentItem(0); 
  7.         mTabLayout.setupWithViewPager(mViewPager); 
  8.         mTabLayout.setTabMode(TabLayout.MODE_FIXED); 
  9. //        for (int i = 0; i < mTabLayout.getTabCount(); i++) { 
  10. //            mTabLayout.getTabAt(i).setCustomView(mAdapter.getTabView(i)); 
  11. //        } 
  12.         mTabLayout.addOnTabSelectedListener(this); 
  13. //        mViewPager.setCurrentItem(0); 
  14.         mTabLayout.getTabAt(0).setIcon(R.drawable.home_fill);//自有方法添加icon 
  15.         mTabLayout.getTabAt(1).setIcon(R.drawable.location); 
  16.         mTabLayout.getTabAt(2).setIcon(R.drawable.like); 
  17.         mTabLayout.getTabAt(3).setIcon(R.drawable.person);  

Tab切換 

  1. @Override 
  2.     public void onTabSelected(TabLayout.Tab tab) { 
  3. //        setTabSelectedState(tab);//這個(gè)也無需使用 
  4.         resetTabIcon(); 
  5.         int position = tab.getPosition(); 
  6.         Log.e("Kevin""position--->" + position); 
  7.         switch (position) { 
  8.             case 0: 
  9.                 tab.setIcon(R.drawable.home_fill); 
  10.                 break; 
  11.             case 1: 
  12.                 tab.setIcon(R.drawable.location_fill); 
  13.                 break; 
  14.             case 2: 
  15.                 tab.setIcon(R.drawable.like_fill); 
  16.                 break; 
  17.             case 3: 
  18.                 tab.setIcon(R.drawable.person_fill); 
  19.                 break; 
  20.  
  21.         } 
  22.     } 
  23.  
  24.  
  25. private void resetTabIcon() { 
  26.         mTabLayout.getTabAt(0).setIcon(R.drawable.home); 
  27.         mTabLayout.getTabAt(1).setIcon(R.drawable.location); 
  28.         mTabLayout.getTabAt(2).setIcon(R.drawable.like); 
  29.         mTabLayout.getTabAt(3).setIcon(R.drawable.person); 
  30.     }  

說明:這幾篇文章沒有過多的文字?jǐn)⑹觯驗(yàn)檫@些東西也不是很難,而且都是常用的,相信很多人都了如指掌了,多說亦是廢話,直接上代碼看的反而更清楚。

責(zé)任編輯:龐桂玉 來源: segmentfault
相關(guān)推薦

2016-12-07 10:18:44

移動(dòng)應(yīng)用開發(fā)底部導(dǎo)航android

2016-12-07 10:27:16

移動(dòng)應(yīng)用開發(fā)底部導(dǎo)航android

2016-12-07 10:32:14

移動(dòng)應(yīng)用開發(fā)底部導(dǎo)航android

2016-12-07 10:02:54

移動(dòng)應(yīng)用開發(fā)底部導(dǎo)航android

2022-08-08 19:46:26

ArkUI鴻蒙

2023-10-23 08:48:04

CSS寬度標(biāo)題

2022-11-15 18:31:37

React

2021-08-02 09:11:39

底部導(dǎo)航產(chǎn)品Tab Bar

2009-06-24 09:36:52

XML實(shí)現(xiàn)breadcMVC

2021-01-28 06:11:40

導(dǎo)航組件Sidenav Javascript

2020-11-23 14:29:22

Android 10窗口代碼

2016-12-01 09:24:56

Android

2017-02-17 11:00:57

狀態(tài)欄Android

2013-01-14 17:05:55

UCUI設(shè)計(jì)菜單欄

2023-06-06 15:38:28

HTMLCSS開發(fā)

2016-12-09 09:23:50

android組件Service

2015-07-30 14:43:04

導(dǎo)航欄iOS開發(fā)

2022-02-11 14:48:57

Chrome谷歌下載欄

2012-04-28 11:07:15

2024-08-29 08:13:58

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国产亚洲欧美在线精品| 亚洲成人网在线播放| 麻豆福利在线观看| 久久久www免费人成精品| 国产伊人精品在线| 国产亚洲成人av| 欧美色图在线播放| 精品国产一区二区精华| 中文久久久久久| 91桃色在线| 国产精品久久久久久久久免费丝袜| αv一区二区三区| 亚洲精品一区二区二区| 国产精品啊啊啊| 深夜福利一区二区| 日韩免费高清一区二区| 大胆国模一区二区三区| 日韩欧美中文字幕在线观看| 成人免费看片视频在线观看| 国产视频二区在线观看| 不卡影院免费观看| 91视频-88av| 羞羞色院91蜜桃| 国产精品嫩草99av在线| 欧美精品在线看| 九九热免费在线| 猛男gaygay欧美视频| 日韩欧美一卡二卡| 午夜剧场高清版免费观看 | 国产成人高清| 精品国产91乱码一区二区三区| 杨幂毛片午夜性生毛片| 在线观看的黄色| 亚洲成人av免费| 黄色一级片av| 国产盗摄在线观看| 国产精品免费久久| 亚洲毛片aa| 国产黄色片在线观看| 91片黄在线观看| 久久99九九| 日韩在线观看视频网站| 国产成人精品亚洲日本在线桃色 | 成人免费在线小视频| 欧美韩日亚洲| 亚洲成人手机在线| 国产美女主播在线| 久久亚洲资源| 香蕉加勒比综合久久 | 先锋影音久久| 91福利视频在线观看| 99久在线精品99re8热| 亚洲黄色三级| 欧美专区国产专区| 国产乱码77777777| 日本美女视频一区二区| 国产精品偷伦视频免费观看国产 | 国产黄色精品网站| 91精品天堂| 免费国产黄色片| 99久久精品国产网站| 精品国产免费一区二区三区| 视频在线不卡| 91麻豆国产福利精品| 日韩成人在线资源| 午夜视频在线观看免费视频| 亚洲日本成人在线观看| 成人短视频在线观看免费| 日本电影在线观看| 欧美性猛交xxxx免费看久久久| 99久久久无码国产精品6| 日韩大片欧美大片| 欧美精品一卡二卡| 精品国产免费久久久久久婷婷| 粉嫩精品导航导航| 亚洲人成网站免费播放| 麻豆精品国产免费| 激情久久久久久| 欧美最猛黑人xxxx黑人猛叫黄| 亚洲色成人www永久网站| 蜜臀av一区二区| 99超碰麻豆| 青青草在线视频免费观看| 中文字幕欧美国产| 欧美黄色免费网址| 网友自拍亚洲| 日韩区在线观看| 成年人免费观看视频网站| 国产精品久久久久无码av| 欧美激情在线有限公司| 欧美一区免费看| 国产精品一区二区黑丝| 免费观看成人在线| av大片在线| 91福利资源站| 亚洲麻豆一区二区三区| 不卡视频在线| 午夜精品久久久99热福利| 国产九色91回来了| www.色综合.com| 亚洲综合激情五月| 爱情电影社保片一区| 欧美一级在线观看| 精品人妻一区二区三区四区| 欧美成人中文| 国产精品久久久av久久久| 国产成人手机在线| 亚洲视频在线一区观看| 88av.com| 欧美交a欧美精品喷水| www.日本久久久久com.| 久久精品视频7| 懂色av一区二区夜夜嗨| 亚洲午夜精品久久| 成人私拍视频| 精品蜜桃在线看| 婷婷久久综合网| 日本欧美加勒比视频| 精品欧美日韩在线| 黄色在线看片| 欧美一区二区视频网站| 美国黄色特级片| 免播放器亚洲| 精品视频一区二区三区四区| 色婷婷在线播放| 3d成人动漫网站| 99自拍偷拍视频| 日韩精品1区2区3区| 六月婷婷久久| 欧美亚洲日本精品| 亚洲黄色av网站| 日本熟妇一区二区| 国产成人精品免费| 高清无码一区二区在线观看吞精| 2019中文亚洲字幕| 色婷婷**av毛片一区| 亚洲天堂视频在线播放| 久久人人超碰精品| 黄色片久久久久| 美女久久99| 欧美在线观看视频| 青青九九免费视频在线| 欧美视频在线视频| 在线免费观看成年人视频| 国产日韩1区| 美媛馆国产精品一区二区| 91福利区在线观看| 日韩精品在线播放| www.久久久久久久| 日本一区二区三区免费乱视频| 久久久国产欧美| 日韩电影二区| 成人高h视频在线| 国产一二区在线| 欧美一级欧美一级在线播放| 全程偷拍露脸中年夫妇| 国产精品1区2区| 国产天堂视频在线观看| 农村少妇一区二区三区四区五区| 68精品国产免费久久久久久婷婷| 亚洲欧洲综合在线| 欧美专区在线观看一区| 亚洲色图100p| 国产91对白在线观看九色| 国产欧美日韩小视频| 欧美偷窥清纯综合图区| 秋霞成人午夜鲁丝一区二区三区| 国自产拍在线网站网址视频| 欧洲国内综合视频| 国产suv精品一区二区68| 国产成人精品亚洲777人妖| 国产一区二区三区小说| 久久99青青| 成人亲热视频网站| 操喷在线视频| 亚洲性无码av在线| 国产夫妻在线观看| 欧美性高潮在线| 99久久99久久精品免费看小说. | 国产美女一区| 神马影院我不卡| 97久久精品一区二区三区的观看方式| 欧美人成在线视频| 狠狠v欧美ⅴ日韩v亚洲v大胸| 欧美日韩国产高清一区二区| 一女被多男玩喷潮视频| 18岁视频在线观看| 免费观看性欧美大片无片| 欧美激情国产高清| 国产小视频免费在线网址| 欧美一级午夜免费电影| 91porny在线| 中文字幕一区二区三区在线观看| 久久久久亚洲av成人网人人软件| 亚洲欧美清纯在线制服| 一本一道久久a久久精品综合| 成人18夜夜网深夜福利网| 国产成人精品在线| 日本成人不卡| 日韩中文综合网| 午夜性色福利视频| 日韩欧美一区在线| 波多野结衣影片| 亚洲成人激情自拍| 欧美爱爱免费视频| 国产日韩av一区| 亚洲观看黄色网| 国产资源精品在线观看| 国产精品第12页| 亚洲小说欧美另类婷婷| 中文字幕一区二区三区有限公司 | 日韩欧美aaaaaa| 中文字幕在线天堂| 婷婷久久综合九色国产成人| 久久中文免费视频| 中文字幕精品一区二区三区精品 | 日本成人中文| 亚洲精品欧美极品| 国产精品蜜月aⅴ在线| 91豆花精品一区| heyzo高清中文字幕在线| 久久亚洲一区二区三区四区五区高 | 日本美女一区二区三区视频| jizzjizz国产精品喷水| 欧美视频久久| 四虎4hu永久免费入口| 日韩成人精品一区二区| 日韩经典在线视频| 亚洲黄页网站| 九九九九精品九九九九| 99香蕉久久| 99久久国产免费免费| 欧美日韩黄网站| 91精品入口蜜桃| 人人爱人人干婷婷丁香亚洲| 国产在线日韩在线| 激情亚洲小说| 国产一区二中文字幕在线看| 国产成人精品一区二区三区在线| 国产极品精品在线观看| 亚洲成人人体| 国产精品成人一区二区三区吃奶| 在线一区av| 国产精品99久久99久久久二8| 一区二区三区四区日本视频| 欧美一区在线直播| 五月激情久久| 国产精品色婷婷视频| 成人看片毛片免费播放器| 国产精品久久久久久久7电影| 韩国精品主播一区二区在线观看| 国产成人在线一区二区| 高清av一区二区三区| 国产精品一区二区三区久久久| 国产三级一区| 91精品在线观看视频| 免费精品一区二区三区在线观看| 亚洲综合第一页| caoporn成人| 欧美高清视频一区| 日韩欧美综合| 丰满人妻一区二区三区53号| 欧美日韩一视频区二区| av女优在线播放| 性欧美xxxx大乳国产app| 欧美伦理片在线看| 激情久久五月天| 国产精品99久久久精品无码| av亚洲精华国产精华精华| 日本aaa视频| 中文字幕人成不卡一区| 中文字幕av久久爽av| 欧美日韩人人澡狠狠躁视频| 自拍偷拍校园春色| 678五月天丁香亚洲综合网| www.污视频| 亚洲品质视频自拍网| 美女羞羞视频在线观看| 久久久欧美精品| 电影天堂国产精品| 亚洲自拍偷拍区| 亚洲制服一区| 欧美三级午夜理伦三级老人| 国产欧美高清| 潘金莲激情呻吟欲求不满视频| 成人激情综合网站| 精品国产aaa| 亚洲成人一区在线| 91丨九色丨蝌蚪丨对白| 亚洲国产成人久久综合| av女优在线| 97色在线观看| 成人影院网站ww555久久精品| 久久国产精品-国产精品| 68国产成人综合久久精品| 久久网站免费视频| 国产精一区二区三区| 一道本在线观看| 亚洲一区二区三区四区在线免费观看| 日日夜夜狠狠操| 亚洲精品一线二线三线 | 欧美日韩成人在线观看| 日本电影欧美片| 国产精品日韩高清| 天天av综合| 99久久国产宗和精品1上映| 国产成人高清在线| 亚洲欧美另类日本| 欧美性黄网官网| 欧美一级视频免费| 日韩天堂在线视频| gogo亚洲高清大胆美女人体| 国产精品视频免费一区| 亚洲h色精品| 日韩欧美国产片| 久久久国产精品麻豆| 在线观看免费国产视频| 精品久久99ma| a级影片在线| 国产欧美中文字幕| 国产一区二区三区日韩精品| 精品这里只有精品| 成人免费看视频| 欧美黄色免费看| 337p亚洲精品色噜噜噜| yourporn在线观看中文站| 日韩av不卡在线| 日本成人a网站| 91九色丨porny丨国产jk| 成人精品视频一区| 欧美人妻一区二区| 日韩三级在线免费观看| 午夜激情在线| 91久色国产| 合欧美一区二区三区| 一起草最新网址| 夜夜精品浪潮av一区二区三区| 国产免费无遮挡| 欧美尺度大的性做爰视频| 色成人综合网| 国产又爽又黄ai换脸| 国产一区二区调教| 欧美成人黄色网| 欧美xxxx在线观看| 成人免费高清观看| 精品不卡在线| 亚洲专区一区二区三区| 亚洲图片另类小说| 在线观看视频一区二区| av网在线观看| 91影院在线免费观看视频| 欧美.www| 亚洲欧美日韩偷拍| 精品国产成人在线| 黄色片视频在线观看| 国产精品极品尤物在线观看| 北条麻妃国产九九九精品小说| 黄大色黄女片18第一次| 亚洲伦理在线精品| 亚洲精品一级片| 欧美亚洲国产另类| 日韩成人综合| 男插女视频网站| 欧美日韩一区二区三区| 国产精品秘入口| 成人激情综合网| 在线成人www免费观看视频| 7788色淫网站小说| 欧美性生活一区| www.欧美日本韩国| 精品91免费| 麻豆一区二区99久久久久| 久久精品www人人爽人人| 亚洲国产日韩精品在线| 素人一区二区三区| 欧妇女乱妇女乱视频| 99精品视频在线免费观看| 中文字幕欧美色图| 久精品免费视频| 免费久久久久久久久| 日韩av片免费观看| 午夜免费久久看| av中文字幕在线| av一本久道久久波多野结衣| 玖玖精品视频| 欧美黑人性猛交xxx| 亚洲精品有码在线| 国产专区精品| 精品www久久久久奶水| 一区二区三区四区亚洲| 韩国福利在线| 成人区精品一区二区| 奇米一区二区三区av| 日韩av男人天堂| 视频直播国产精品| 日韩高清影视在线观看| 三级性生活视频| 色老头久久综合| free性护士videos欧美| 在线观看日韩羞羞视频|