BottomNavigationView 很早之前就在 Material Design 中出现了,但是直到 Android Support Library 25 中才增加了 BottomNavigationView 控件。也就是说如果使用官方的BottomNavigationView控件必须让targetSdkVersion >= 25,这样才能引入25版本以上的兼容包。
接下来我们来看看如何使用BottomNavigationView。
使用BottomNavigationView 需要添加design兼容包的依赖。
dependencies {
//...
compile 'com.android.support:design:25.1.0'
}
在 res/menu/ 目录下创建一个 xml 文件(没有该目录则手动创建一个),我将其命名为 navigation.xml,里面使用的图片资源都是系统自带的。这个文件是用来定义导航条目具体的信息。
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/call"
android:icon="@android:drawable/ic_menu_call"
android:title="call" />
<item
android:id="@+id/message"
android:icon="@android:drawable/ic_dialog_email"
android:title="message" />
<item
android:id="@+id/search"
android:icon="@android:drawable/ic_menu_search"
android:title="搜索" />
<item
android:id="@+id/delete"
android:icon="@android:drawable/ic_menu_delete"
android:title="删除"/>
</menu>
每个item表示底部导航的一个条目,icon是图标,title是文字。
然后修改Activity布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_bottom_navigation_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
>
<TextView
android:id="@+id/tv_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="演示内容"
android:textSize="36sp"/>
<android.support.design.widget.BottomNavigationView
android:id="@+id/navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
app:itemBackground="@android:color/black"
app:itemIconTint="@android:color/white"
app:itemTextColor="@android:color/white"
app:menu="@menu/navigation"/>
</RelativeLayout>
BottomNavigationView有几个特殊的属性,
* itemtBackground 条目背景
* itemIcoTint 图标渲染的颜色
* itemtTextColor 文字的颜色
* menu 关联上面创建的菜单
最后修改BottomNavigationViewActivity代码
public class BottomNavigationViewActivity extends AppCompatActivity {
private TextView textView;
private BottomNavigationView navigationView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bottom_navigation_view);
textView = (TextView) findViewById(R.id.text);
navigationView = (BottomNavigationView) findViewById(R.id.navigation);
//选中条目的监听事件
navigationView.setOnNavigationItemSelectedListener(
new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
textView.setText(item.getTitle().toString());
return true;
}
});
}
}
注意事项
* 底部导航栏默认高度是56dp
* 菜单建议是3-5个
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Android
# BottomNavigationView
# 底部导航
# Android使用BottomNavigationBar实现底部导航栏
# Android使用BottomNavigationBar实现导航栏功能
# ANDROID BottomNavigationBar底部导航栏的实现示例
# Android BottomNavigationBar底部导航控制器使用方法详解
# Mono for Android 实现高效的导航(Effective Navigation)
# Android中的导航navigation的使用详细步骤
# 创建一个
# 都是
# 就在
# 将其
# 来看看
# 有几个
# 很早
# 命名为
# 如何使用
# 大家多多
# 出现了
# 增加了
# 中才
# 也就是说
# 系统自带
# 目录下
# 是用来
# version
# lt
# search
相关文章:
如何在建站主机中优化服务器配置?
韩国服务器如何优化跨境访问实现高效连接?
非常酷的网站设计制作软件,酷培ai教育官方网站?
建站之星安装后界面空白如何解决?
如何确保FTP站点访问权限与数据传输安全?
专业网站建设制作报价,网页设计制作要考什么证?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
广东专业制作网站有哪些,广东省能源集团有限公司官网?
制作门户网站的参考文献在哪,小说网站怎么建立?
jQuery 常见小例汇总
如何在宝塔面板中修改默认建站目录?
建站之星后台密码如何安全设置与找回?
如何选择可靠的免备案建站服务器?
如何在阿里云通过域名搭建网站?
专业商城网站制作公司有哪些,pi商城官网是哪个?
建站之星如何实现网站加密操作?
建站主机如何安装配置?新手必看操作指南
企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?
定制建站流程步骤详解:一站式方案设计与开发指南
建站之星后台管理:高效配置与模板优化提升用户体验
如何通过虚拟主机快速完成网站搭建?
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
如何在IIS中配置站点IP、端口及主机头?
如何有效防御Web建站篡改攻击?
如何解决ASP生成WAP建站中文乱码问题?
如何选择网络建站服务器?高效建站必看指南
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
如何快速搭建高效可靠的建站解决方案?
音乐网站服务器如何优化API响应速度?
如何高效利用亚马逊云主机搭建企业网站?
如何制作网站标识牌,动态网站如何制作(教程)?
实现点击下箭头变上箭头来回切换的两种方法【推荐】
建站之星后台管理如何实现高效配置?
网站制作服务平台,有什么网站可以发布本地服务信息?
电商网站制作价格怎么算,网上拍卖流程以及规则?
宁波免费建站如何选择可靠模板与平台?
,柠檬视频怎样兑换vip?
建站168自助建站系统:快速模板定制与SEO优化指南
在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?
,购物网站怎么盈利呢?
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
如何在橙子建站中快速调整背景颜色?
外汇网站制作流程,如何在工商银行网站上做外汇买卖?
建站主机是什么?如何选择适合的建站主机?
如何用好域名打造高点击率的自主建站?
如何挑选最适合建站的高性能VPS主机?
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
已有域名如何快速搭建专属网站?
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
*请认真填写需求信息,我们会在24小时内与您取得联系。