全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android BottomNavigationView底部导航效果

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 


相关文章: 深圳企业网站制作设计,在深圳如何网上全流程注册公司?  香港服务器WordPress建站指南:SEO优化与高效部署策略  Python多线程使用规范_线程安全解析【教程】  南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?  如何快速生成ASP一键建站模板并优化安全性?  如何快速搭建虚拟主机网站?新手必看指南  成都网站制作报价公司,成都工业用气开户费用?  C#怎么使用委托和事件 C# delegate与event编程方法  如何在阿里云香港服务器快速搭建网站?  北京企业网站设计制作公司,北京铁路集团官方网站?  如何通过网站建站时间优化SEO与用户体验?  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  c# 服务器GC和工作站GC的区别和设置  北京网站制作的公司有哪些,北京白云观官方网站?  建站之星如何实现PC+手机+微信网站五合一建站?  ,怎么在广州志愿者网站注册?  中山网站制作网页,中山新生登记系统登记流程?  定制建站哪家更专业可靠?推荐榜单揭晓  网站专业制作公司有哪些,做一个公司网站要多少钱?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  黑客入侵网站服务器的常见手法有哪些?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  IOS倒计时设置UIButton标题title的抖动问题  MySQL查询结果复制到新表的方法(更新、插入)  ,如何利用word制作宣传手册?  北京制作网站的公司,北京铁路集团官方网站?  网站制作网站,深圳做网站哪家比较好?  外贸公司网站制作哪家好,maersk船公司官网?  Swift开发中switch语句值绑定模式  网站制作新手教程,新手建设一个网站需要注意些什么?  C++如何使用std::optional?(处理可选值)  制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  电商平台网站制作流程,电商网站如何制作?  TestNG的testng.xml配置文件怎么写  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  建站之星如何快速生成多端适配网站?  如何快速上传自定义模板至建站之星?  建站之星如何取消后台验证码生成?  建站之星后台密码遗忘或太弱?如何重置与强化?  如何在自有机房高效搭建专业网站?  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  制作农业网站的软件,比较好的农业网站推荐一下?  如何快速搭建高效WAP手机网站?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  北京的网站制作公司有哪些,哪个视频网站最好?  如何通过二级域名建站提升品牌影响力?  如何快速搭建安全的FTP站点?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。