MaterialDesign初次使用(一) BottomNavigationView用法学习

刚开始学习MaterialDesign,我先到安卓技术开发周报里查看了MaterialDesign的相关简介,除开针对UI的规范,我更关心的是如何在代码中引用到MD风格的控件,于是我从官方提供的BottomNavigationView开始学习,这是一个类似于以前我们自己实现的底边栏的效果的控件。

首先展示项目的源码结构


首先使用MD的控件需要在AndroidStudio中引入相关的支持包,此处在.gradle文件(module)中加入dependencies,如下图所示


坑1:注意两个版本匹配,不然可能出现无法inflate控件的错误喔。

然后使用这个控件需要编写一个menu文件,我创建的是最最基础的工程,里面并没有menu文件夹,自己创建一个,并建立一个menu文件如下所示


这里面的每个item都是一个底部栏的一个项目

然后就是在layout文件中引用它啦


引用的时候控件申明为android.support.design.widget.BottomNavigationView

这里我们注意这些属性

app:menu  这个属性将我们刚才编写的menu文件作为资源文件引入,也就是说底端的菜单的item是由这个文件来决定的

app:itemIconTint 和 app:itemTextColor 这两个属性分别指定了按钮在被点击时和未被点击时的颜色/下面的文字在点击时和未被点击时的颜色,这里我使用了selector的方式对其指定,放在drawable下的xml文件里


android:background 这里和平时设置背景色一模一样

style 指定引用一个style.xml中的风格

这里我的style只有一条itemBackgroud,也是引用了一个xml文件,这个xml文件较为特殊,指定的是波纹效果,这个只有在sdk21以上才可以使用喔


波纹文件用ripple定义


细心的可能会发现,为什么不把所有的item都定义在style里呢,或者说明明只有一个style为什么不放在外面呢,其实和都是可以的,毕竟style只是把属性集合到一起方便复用

,其实我也是对着别人的代码边思考边写,然后到最后才发现这个问题的,我把代码又整理了一下,全部收到style里面去,layout和style分别是这样子的




坑2:注意一下,因为使用了波纹效果,所以minSdk要大于等于21,如果要适配小于21的手机,必须将itemBackground属性去掉,不然会引发materialDesign控件inflate失败的错误!!


今天只是尝试了一下控件的效果,点击事件还没实现,实现完了我会编辑在下面的。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值