最近写了一个小项目,用到的新东西挺多的,写出来记一下以免忘记。笔记一,选项卡
温油的老舅
发表于
2020-04-23 20:04
2125
android笔记
android选项卡
1. 导入依赖包
使用BottomNavigationView前先要导入material依赖包,在build.gradle(app)文件里的dependencies里天下面这行代码就好了 implementation 'com.google.android.material:material:1.2.0-alpha03'
2.使用BottomNavigationView控件
在layout布局文件,合适的位置使用BottomNavigationView控件,在属性里记得添加菜单 app:menu="@menu/my_navigation_items"
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/navigationBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/w"
android:layout_alignParentBottom="true"
app:menu="@menu/my_navigation_items"
></com.google.android.material.bottomnavigation.BottomNavigationView>
3.编写menu.xml文件
在资源目录新建一个menu文件夹,在文件夹内新建一个xml文件用来写菜单项,
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/indexB"
android:title="@string/assister_index"
android:icon="@drawable/selecter_press_index_select"/>
<item
android:id="@+id/allTaskB"
android:title="@string/assister_alltask"
android:icon="@drawable/selecter_press_task_select"/>
</menu>
4.选项卡的点击事件实现
最后就是实现点击事件了,我这里主要是用来跳转页面
//选项卡点击事件
navigationBar.setOnNavigationItemSelectedListener(new OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
if (item.getItemId()==R.id.indexB) {
//转换fragment
switchFragment(indexFragment);
}else if (item.getItemId()==R.id.allTaskB) {
switchFragment(allTasksFragment);
}
return true;
}
});
这里就需要在layout里使用
//实例化fragment碎片
allTasksFragment = new AllTasksFragment();
indexFragment = new IndexFragment();
fragmentManger = getSupportFragmentManager();
FragmentTransaction transaction = fragmentManger.beginTransaction();
transaction.replace(R.id.fragments, fragment);
transaction.commit();