Android Material Design中的BottomNavigationView实现底部导航栏
来源:互联网 发布:地震科普知识网络竞赛 编辑:程序博客网 时间:2024/05/20 20:01
前言
好久没有更新博客了,也许是毕业的伤感,也许是刚工作的迷茫,已经许久没有动过写博客的念头了,今天重新开始更新博客,神奇的蓝胖子正式归来。 由于近来没有入手完整的项目,闲来无事就去Android官网看了看(大家也可以经常去逛一下哦!),在设计板块中,BottomNavigationView控件又再一次的出现在我的眼前,突然想起来,这是个多么好的控件啊,怎么能不和大家一起分享一下呢!
为什么要用BottomNavigationView
还记得我们在此之前是如何实现底部导航栏功能的吗?在BottomNavigationView没出来之前,也有几套比较成熟或者大家使用比较多的方案: 第一种 使用LinearLayout + TextView实现了底部导航栏的效果。 第二种 使用RadioGroup + RadioButton实现了底部导航栏的效果。
这两种方法也都能实现底部导航栏的效果,但是用过的人应该都清楚,实现过程太过繁琐,而BottomNavigationView却可以让你用最少的代码实现最动人的效果。
使用步骤
1. 因为BottomNavigationView是属于设计包中的控件,在使用之前要先在gradle文件中引入设计包。
dependencies { compile 'com.android.support:design:25.3.1'}
2.在布局文件中使用该控件,其中menu属性,就是我们经常使用的菜单布局。 <android.support.design.widget.BottomNavigationView android:id="@+id/navigation" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" android:background="?android:attr/windowBackground" app:menu="@menu/navigation" />
其menu菜单布局如下<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/navigation_home" android:icon="@drawable/ic_home_black_24dp" android:title="首页" /> <item android:id="@+id/navigation_dashboard" android:icon="@drawable/ic_dashboard_black_24dp" android:title="数据" /> <item android:id="@+id/navigation_notifications" android:icon="@drawable/ic_notifications_black_24dp" android:title="通知" /></menu>
3.最后一步,就在Activity中使用就可以了,这里我只是简单的实现了点击事件。public class BottomActivity extends AppCompatActivity { private TextView mTextMessage; private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener = new BottomNavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { switch (item.getItemId()) { case R.id.navigation_home: mTextMessage.setText("首页"); return true; case R.id.navigation_dashboard: mTextMessage.setText("数据"); return true; case R.id.navigation_notifications: mTextMessage.setText("通知"); return true; } return false; } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_bottom); mTextMessage = (TextView) findViewById(R.id.message); BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation); navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener); }}
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/navigation_home" android:icon="@drawable/ic_home_black_24dp" android:title="首页" /> <item android:id="@+id/navigation_dashboard" android:icon="@drawable/ic_dashboard_black_24dp" android:title="数据" /> <item android:id="@+id/navigation_notifications" android:icon="@drawable/ic_notifications_black_24dp" android:title="通知" /></menu>
3.最后一步,就在Activity中使用就可以了,这里我只是简单的实现了点击事件。public class BottomActivity extends AppCompatActivity { private TextView mTextMessage; private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener = new BottomNavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { switch (item.getItemId()) { case R.id.navigation_home: mTextMessage.setText("首页"); return true; case R.id.navigation_dashboard: mTextMessage.setText("数据"); return true; case R.id.navigation_notifications: mTextMessage.setText("通知"); return true; } return false; } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_bottom); mTextMessage = (TextView) findViewById(R.id.message); BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation); navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener); }}
当你完成了以上操作之后,就可以看到底部导航栏的效果了哦!
让我们一起学习,一起进步,我们下次再见 --神奇的蓝胖子
阅读全文
1 0
- Android Material Design中的BottomNavigationView实现底部导航栏
- Android学习Material design中的底部导航栏BottomNavigationBar
- Android Material Design (底部导航栏)
- android Material Design 底部导航栏
- android BottomNavigationView(底部导航栏)
- Android BottomNavigationView 底部导航
- Android 底部导航栏的简单实现-BottomNavigationView
- BottomNavigationView+ViewPager实现底部导航栏
- BottomNavigationView+ViewPager+Fragment 实现底部导航栏
- Material Design之导航栏BottomNavigationView的使用
- Android Material Design 之 BottomNavigationView
- Material Design之底部导航栏
- BottomNavigationView实现导航栏
- Android Material design 中TabLayout+Viewpager实现导航栏
- Android Toolbar详解-实现Material Design 风格的导航栏
- android 25 底部导航框架学习 BottomNavigationView
- BottomNavigationView+ViewPager打造底部导航栏
- BottomNavigationView(底部导航)
- Sumsets
- 使用UE4尝试复刻一个游戏
- hdu1007 Quoit Design 分治
- 二分图最大匹配
- Java中的Filter过滤器
- Android Material Design中的BottomNavigationView实现底部导航栏
- 加密时java.security.InvalidKeyException: Illegal key size or default parameters解决办法
- 手机连接电脑后弹出窗口名字修改(MTK)
- 模拟实现strcat函数
- Spring启动过程
- 字符设备驱动--中断方式下的按键驱动
- Java进阶04 RTTI
- 使用layer的iframe层提交表单后,需要关闭当前的iframe层,然后刷新父页面的方法
- 【HDU 2063】过山车(二分图最大匹配模板题)
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
淘常州网上超市
酒网购
优品购
皇冠蛋糕网上订蛋糕
广西乐思购
聪明购
英国购物网站
广州友谊商店网购
水果交易平台
宜芝多蛋糕网上预订
持家有道网上超市
网上卖水果
网上卖菜
英德net网上超市
网上买手机号
什么食物
农副食品批发
吃什么食物降血压
迪士尼可自带食品
食困症
食困
不伦食堂
阳光食堂
食堂英语
食堂英文
不论食堂
食堂包子
学校食堂
大食堂
食堂菜
食堂管理
姜食堂
食堂餐具
摩打食堂
异世界食堂
单位食堂
食堂供应商
食堂饭菜
江苏阳光食堂工作平台登录
小学食堂用脚刷餐具
阳光食堂管理平台