支持库的依赖(Android Design Support Library)
开始之前打一波推广,推广的就是我自己,最近喜欢hexo的博客主题,自己上手搭建一个,从开始使用到Hexo的个性化配置,自己边学习边记录,形成了Hexo搭建个人网站的一个体系,同步在个人的博客上:
本文是对底部导航学习和最后笔记记录,使用的是BottomNavigationView 控件.
选取常见的图标:
注意: 下面的连接请在微信上打开
学习的笔记来源是微信公众号的文章: 连接如下http://mp.weixin.qq.com/s/k6GUzoE5b-MiekmrO9_VTg
支持库的依赖
首先是上代码:
// 支持库
compile 'com.android.support:design:25.3.1'
不然是不会出现对应的提示;
开始新建布局书写
开始之前学习一下子 ColorStateList 类型的资源:
https://www.cnblogs.com/xirihanlin/archive/2010/06/11/1756121.html
ColorStateList对象可以在XML中定义,像color一样使用,它能根据它应用到的View对象的状态实时改变颜色。例如,Button可以存在多种状态(pressed、focused或other),如果使用ColorStateList,你就能为它的每个状态提供不同的颜色。
新建项目开始决定来书写:
添加布局文件时候注意的事项:
- 属性一: iteamBackground 指定的是底部导航栏的背景颜色,默认是主题的颜色;
- 属性二: iteamIconTint 指的是导航栏中图片的颜色
- 属性三: iteamTextColor 指的是导航栏文字的颜色
- 属性四: menu
BottomNavigationView在使用时,除了普通空间的属性外,还需要注意如下几个特有属性:
app:itemBackground:指定底部导航栏的背景颜色,默认是当前主题的背景色,白色or黑色;
app:itemIconTint:指定底部导航栏元素图标的着色方式,默认元素选中时icon颜色为@color/colorPrimary;
app:itemTextColor:指定底部导航栏元素文字的着色方式;
app:menu:使用Menu的形式为底部导航栏指定元素;
首先是代码的展示:
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_alignParentBottom="true"
app:itemBackground="@color/colorAccent"
app:itemIconTint="@color/status_text"
app:itemTextColor="@color/yellow"
app:menu="@menu/bottom_navigation_main"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
之后是使用men给底部导航指定对应的元素:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_favorites"
android:enabled="true"
android:icon="@mipmap/canvas"
android:title="@string/text_favorites"
app:showAsAction="ifRoom" />
<item
android:id="@+