Android底部導(dǎo)航組件BottomNavigationView
什么是BottomNavigationView
底部菜單欄
BottomNavigationView的簡(jiǎn)單用法
需求:如上圖所示。點(diǎn)擊測(cè)試一菜單,展示test1fragment。點(diǎn)擊測(cè)試二菜單,展示test2fragment。點(diǎn)擊測(cè)試三菜單,展示test3fragment。
第一步,testActivity布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> // 容器,承載fragment <FrameLayout android:id="@+id/nav_host_fragment" android:name="androidx.navigation.fragment.NavHostFragment" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" /> // BottomNavigationView <com.google.android.material.bottomnavigation.BottomNavigationView android:id="@+id/nav_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?android:attr/windowBackground" app:menu="@menu/bottom_nav_menu_test" /> </LinearLayout>
第二步,寫B(tài)ottomNavigationView所需要的菜單
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/navigation_test1" android:icon="@drawable/ic_home_black_24dp" android:title="測(cè)試一" /> <item android:id="@+id/navigation_test2" android:icon="@drawable/ic_dashboard_black_24dp" android:title="測(cè)試二" /> <item android:id="@+id/navigation_test3" android:icon="@drawable/ic_notifications_black_24dp" android:title="測(cè)試三" /> </menu>
第三步,書寫testActivity文件。重點(diǎn)是setOnNavigationItemSelectedListener點(diǎn)擊事件
public class TestActivity extends AppCompatActivity { List<Fragment> mFragments = new ArrayList<>(); test1Fragment t1f = new test1Fragment(); test2Fragment t2f = new test2Fragment(); test3Fragment t3f = new test3Fragment(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test); BottomNavigationView navView = findViewById(R.id.nav_view); mFragments.add(t1f); mFragments.add(t2f); mFragments.add(t3f); // navView 點(diǎn)擊事件 navView.setOnNavigationItemSelectedListener((item)->{ switchFragment(item.getItemId()); return true; }); } private void switchFragment(int id) { Fragment fragment = null; switch (id) { case R.id.navigation_test1: fragment = mFragments.get(0); break; case R.id.navigation_test2: fragment = mFragments.get(1); break; case R.id.navigation_test3: fragment = mFragments.get(2); break; default: break; } if (fragment != null) { getSupportFragmentManager().beginTransaction().replace(R.id.nav_host_fragment,fragment).commit(); } } }
到此這篇關(guān)于Android底部導(dǎo)航組件BottomNavigationView的文章就介紹到這了,更多相關(guān)Android BottomNavigationView內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android使用kotlin實(shí)現(xiàn)多行文本上下滾動(dòng)播放
這篇文章主要為大家詳細(xì)介紹了Android使用kotlin實(shí)現(xiàn)多行文本的上下滾動(dòng)播放,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01android不同activity之間共享數(shù)據(jù)解決方法
最近做局域網(wǎng)socket連接問題,要在多個(gè)activity之間公用一個(gè)socket連接,就在網(wǎng)上搜了下資料,感覺還是application方法好用,帖出來需要的朋友可以參考下2012-11-11Android實(shí)現(xiàn)環(huán)信修改頭像和昵稱
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)環(huán)信修改頭像和昵稱,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02Android Service總結(jié)及詳細(xì)介紹
本文主要介紹Android Service的知識(shí),這里整理了詳細(xì)資料及簡(jiǎn)單實(shí)現(xiàn)示例代碼,有需要的小伙伴可以參考下2016-09-092021最新Android筆試題總結(jié)美團(tuán)Android崗職能要求
這篇文章主要介紹了2021最新Android筆試題總結(jié)以及美團(tuán)Android崗職能要求,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08Android 深入探究自定義view之事件的分發(fā)機(jī)制與處理詳解
對(duì)于安卓程序員來說,自定義view簡(jiǎn)直不要太重要,畢竟有很多功能,譬如圓形頭像這些,用單純的原生非常難以實(shí)現(xiàn),而用自定義view,簡(jiǎn)直分分鐘2021-11-11