<android.support.design.widget.BottomNavigationView
android:id="@+id/navigation"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="0dp"
android:layout_marginEnd="0dp"
android:background="#2488e2"
  app:itemIconTint="@color/tab_icon"
app:itemTextColor="@color/tab_icon"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:menu="@menu/navigation"
/>
itemIconTint,
itemTextColor:分别代表选中和非选中状态下按钮图标和文字的颜色

在color下新建tab_icon.xml,
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/colorNormal" android:state_checked="false" />
<item android:color="@color/colorSelected" android:state_checked="true"/>
</selector>

menu:在menu下建一个xxmenu.xml ,每一个item代表一个底部标签

 <item
android:id="@+id/navigation_1"
android:icon="@drawable/icon"
android:title="@string/tab_title" />

当底部item过多的时候点击会有一个偏移的现象????

解决方法:定义一个工具类
public class BottomNavigationViewHelper {
@SuppressLint("RestrictedApi")
public static void disableShiftMode(BottomNavigationView view) {
BottomNavigationMenuView menuView = (BottomNavigationMenuView) view.getChildAt(0);
try {
Field shiftingMode = menuView.getClass().getDeclaredField("mShiftingMode");
shiftingMode.setAccessible(true);
shiftingMode.setBoolean(menuView, false);
shiftingMode.setAccessible(false);
for (int i = 0; i < menuView.getChildCount(); i++) {
BottomNavigationItemView item = (BottomNavigationItemView) menuView.getChildAt(i);
//noinspection RestrictedApi
item.setShiftingMode(false);
// set once again checked value, so view will be updated
//noinspection RestrictedApi
item.setChecked(item.getItemData().isChecked());
}
} catch (NoSuchFieldException e) { } catch (IllegalAccessException e) { }
} }


最新文章

  1. UIButton
  2. paramiko模块
  3. PartialViewResult不鸟_ViewStart.cshtml
  4. Linux性能检测命令 - vmstat
  5. PHP相关图书推荐
  6. AngularJS 路由:ui-router
  7. 搭建Windows下Java Web开发环境
  8. ubuntu 包维护
  9. java学习之多线程
  10. Android Volley彻底解决(三),定制自己Request
  11. s3c2440的GPIO驱动
  12. HDU 2846 Trie查询
  13. Robot Framework + Pywinauto 框架实现Windows GUI Automation
  14. 【转载】FPGA算法映射要点
  15. Python程序的编写方式
  16. zip 与 unzip的简单使用
  17. Qt.常用代码整理
  18. WCF兼容WebAPI输出Json格式数据,从此WCF一举两得
  19. Linux下TCP/socket编程
  20. POJ2318(KB13-A 计算几何)

热门文章

  1. 002-guava String 操作
  2. Spring cloud微服务安全实战-6-6jwt改造之日志及错误处理(2)
  3. 算法习题---5.7丑数(Uva136)
  4. mysql登录指令
  5. Sublime Text 3能用支持的插件推荐
  6. 【linux学习笔记一】目录处理命令
  7. RabbitMQ官方教程四 Routing(GOLANG语言实现)
  8. mysql数据表的编辑
  9. BGP 实验
  10. redis 主从 哨兵