公司内部网站怎么建设,企业网站建设官网,网站建设找酷风,wordpress文章目录在哪里目录
1. BottomNavigationView
(1) 准备BottomNavigationView使用的菜单资源文件
(2) 准备颜色选择器
(3) BottomNavigationView控件设置 (4) 在Java代码中设置OnItemSelectedListener监听器
(5) 与Fragment配合
2. BottomTabBar 实现安卓底部导航栏#xff0c;google为…目录
1. BottomNavigationView
(1) 准备BottomNavigationView使用的菜单资源文件
(2) 准备颜色选择器
(3) BottomNavigationView控件设置 (4) 在Java代码中设置OnItemSelectedListener监听器
(5) 与Fragment配合
2. BottomTabBar 实现安卓底部导航栏google为我们提供了BottomNavigationView类。第三方提供了简易版BottomTabBar类。
1. BottomNavigationView
(1) 准备BottomNavigationView使用的菜单资源文件
res / menu / xxx.xml
使用BottonNavigationView中 app:menu属性 设置。
//例.
?xml version1.0 encodingutf-8?
menu xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:toolshttp://schemas.android.com/toolstools:showInnavigation_viewitem android:idid/item1android:icondrawable/ic_home_mainandroid:titlehome/item android:idid/item2android:icondrawable/ic_home_buttandroid:titlebutt/item android:idid/item3android:icondrawable/ic_home_chatandroid:titlechat/item android:idid/item4android:icondrawable/ic_home_mimeandroid:titlemime/
/menu
(2) 准备颜色选择器
BottomNavigationView的颜色通常设置为颜色选择器然后使用 app:itemTextColor属性 设置文字颜色使用 app:itemIconTint属性 设置图标颜色也可不进行设置。
res / color / xxx.xml
//例.
?xml version1.0 encodingutf-8?
selector xmlns:androidhttp://schemas.android.com/apk/res/androiditem android:colorcolor/purple_700 android:state_checkedtrue/item android:colorcolor/black android:state_checkedfalse/
/selector
(3) BottomNavigationView控件设置
com.google.android.material.bottomnavigation.BottomNavigationViewandroid:idid/bottomNavigationViewandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_alignParentBottomtrueapp:menumenu/bottom_navigation_view_menuapp:itemTextColorcolor/my_colorapp:itemIconTintcolor/my_color / (4) 在Java代码中设置OnItemSelectedListener监听器
BottomNavigationView bottomNavigationViewfindViewById(R.id.bottomNavigationView);
bottomNavigationView.setOnItemSelectedListener(new NavigationBarView.OnItemSelectedListener() {public boolean onNavigationItemSelected(MenuItem item) {// 选择itemif( item.getItemId() R.id. itemX ){//判断点击的Item的Id是否是指定Item的Id}//必须返回true返回falseBottomNavigationView将不变化return true;}
});
(5) 与Fragment配合
BottomNavigationView与Fragment的配合一般通过onItemSelectedListener监听器
获取碎片管理者需使用getSupportFragmentManager()而getFragmentManager()已淘汰
public class MainActivity extends AppCompatActivity {private Fragment f1,f2,f3,f4;private FragmentManager fragmentManager;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);f1new Fragment1();f2new Fragment2();f3new Fragment3();f4new Fragment4();//获取碎片管理者需使用getSupportFragmentManager()而getFragmentManager()已淘汰fragmentManagergetSupportFragmentManager();FragmentTransaction fragmentTransaction fragmentManager.beginTransaction();fragmentTransaction.add(R.id.frameLayout,f1);fragmentTransaction.add(R.id.frameLayout,f2);fragmentTransaction.add(R.id.frameLayout,f3);fragmentTransaction.add(R.id.frameLayout,f4);fragmentTransaction.hide(f2);fragmentTransaction.hide(f3);fragmentTransaction.hide(f4);fragmentTransaction.commit();BottomNavigationView bottomNavigationViewfindViewById(R.id.bottomNavigationView);bottomNavigationView.setOnItemSelectedListener(new NavigationBarView.OnItemSelectedListener() {private int nowFragmentR.id.item1;public boolean onNavigationItemSelected(NonNull MenuItem item) {int itemIditem.getItemId();FragmentTransaction fragmentTransaction fragmentManager.beginTransaction();switch (nowFragment){case R.id.item1:fragmentTransaction.hide(f1);break;case R.id.item2:fragmentTransaction.hide(f2);break;case R.id.item3:fragmentTransaction.hide(f3);break;case R.id.item4:fragmentTransaction.hide(f4);break;}switch (itemId){case R.id.item1:fragmentTransaction.show(f1);break;case R.id.item2:fragmentTransaction.show(f2);break;case R.id.item3:fragmentTransaction.show(f3);break;case R.id.item4:fragmentTransaction.show(f4);break;}fragmentTransaction.commit();nowFragmentitemId;return true;}});}
}
2. BottomTabBar
该方法于2018.8.25进行最后一次更新不建议使用。
compile com.hjm:BottomTabBar:1.2.2 com.hjm.bottomtabbar.BottomTabBarandroid:idid/bottom_tab_barandroid:layout_widthmatch_parentandroid:layout_heightmatch_parent hjm:tab_bar_background#FFFFFF //BottomTabBar的整体背景颜色hjm:tab_divider_background#FF0000 //分割线背景hjm:tab_font_size14px //文字尺寸hjm:tab_img_font_padding0 //图片文字间隔hjm:tab_img_height70px //图片高度hjm:tab_img_width70px //图片宽度hjm:tab_isshow_dividertrue //是否显示分割线hjm:tab_padding_bottom5px //下边距hjm:tab_padding_top5px //上边距hjm:tab_selected_color#000000 //选中的颜色hjm:tab_unselected_colorcolor/colorPrimary/ //未选中的颜色 mBottomBar findViewById(R.id.bottom_bar);mBottomBar.init(getSupportFragmentManager(), 720, 1280)
// .setImgSize(70, 70)
// .setFontSize(14)
// .setTabPadding(5, 0, 5)
// .setChangeColor(Color.parseColor(#FF00F0),Color.parseColor(#CCCCCC)).addTabItem(第一项, R.mipmap.home_selected, R.mipmap.home, OneFragment.class).addTabItem(第二项, R.mipmap.list, TwoFragment.class).addTabItem(第三项, R.mipmap.user, ThreeFragment.class)
// .isShowDivider(true)
// .setDividerColor(Color.parseColor(#FF0000))
// .setTabBarBackgroundColor(Color.parseColor(#00FF0000)).setOnTabChangeListener(new BottomTabBar.OnTabChangeListener() {Overridepublic void onTabChange(int position, String name, View view) {if (position 1)mBottomBar.setSpot(1, false);}}).setSpot(1, true).setSpot(2, true);
详见超简单几行代码搞定Android底部导航栏 - 简书 (jianshu.com)