Android BottomNavigationView底部导航效果

 更新时间:2017年01月20日 15:25:26   作者:张小贝_  
这篇文章主要为大家详细介绍了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实现点击缩略图放大效果

    Android实现点击缩略图放大效果

    这篇文章主要为大家详细介绍了Android实现点击缩略图放大效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • Android记事本项目开发

    Android记事本项目开发

    这篇文章主要为大家详细介绍了Android记事本项目开发的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Android实现音频录音与播放

    Android实现音频录音与播放

    这篇文章主要为大家详细介绍了Android实现音频录音与播放,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • Android查看电池电量的方法(基于BroadcastReceiver)

    Android查看电池电量的方法(基于BroadcastReceiver)

    这篇文章主要介绍了Android查看电池电量的方法,结合实例分析了Android使用BroadcastReceiver实现针对电池电量的查询技巧,需要的朋友可以参考下
    2016-01-01
  • Android实现轮播效果的两种方法

    Android实现轮播效果的两种方法

    这篇文章主要为大家详细介绍了Android实现轮播效果的两种方法,使用ViewPager和SliderLayout第三方进行实现轮播,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • Flutter Recovering Stream Errors小技巧

    Flutter Recovering Stream Errors小技巧

    这篇文章主要为大家介绍了Flutter Recovering Stream Errors小技巧,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • android自定义RadioGroup可以添加多种布局的实现方法

    android自定义RadioGroup可以添加多种布局的实现方法

    这篇文章介绍了android自定义RadioGroup可以添加多种布局的实现方法,有需要的朋友可以参考一下
    2013-08-08
  • Android程序启动时出现黑屏问题的解决方法

    Android程序启动时出现黑屏问题的解决方法

    这篇文章主要介绍了Android程序启动时出现黑屏问题的解决方法,分析了黑屏出现的原因及相应的解决方法,需要的朋友可以参考下
    2016-08-08
  • Android Studio一直处于Building的两种解决方法

    Android Studio一直处于Building的两种解决方法

    很多朋友都遇到过打开别人的项目一直处于Building‘XXX’Gradle project info的情况。下面小编给大家带来了Android Studio一直处于Building的解决方法,感兴趣的朋友一起看看吧
    2018-08-08
  • Android实现弹窗进度条效果

    Android实现弹窗进度条效果

    这篇文章主要为大家详细介绍了Android实现弹窗进度条效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05

最新评论