前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android开发之再探底部菜单TabLayout与Bottom navigation实现方式

Android开发之再探底部菜单TabLayout与Bottom navigation实现方式

作者头像
YungFan
发布2018-04-24 15:02:09
1.4K0
发布2018-04-24 15:02:09
举报
文章被收录于专栏:学海无涯学海无涯
前文中已经对主流的底部菜单实现进行了详细说明,但随着Android版本的升级,Google又推出了更方便的实现方式,此文就来一探究竟。

</br>

一、利用TabLayout来实现

TabLayout 我在Android开发之TabLayout实现顶部菜单一文中是用来做顶部菜单的。确实,Google设计出来本意是做顶部菜单的,但是也可以作为底部菜单来使用。注意与前文比较,只需要稍微修改一下Activity的布局:

代码语言:javascript
复制
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">


    <android.support.v4.view.ViewPager
        android:id="@+id/vp_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1" /> //占用上面,留出位置给TabLayout

    <android.support.design.widget.TabLayout
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:background="#1FBCD2"
        //这两句话一起使用 因为底部菜单一般个数不多,使用这种方式,可以等分且居中
        app:tabGravity="fill"
        app:tabMode="fixed"
        //因为默认指示器在下面,不合适使用在底部菜单所以直接设置其高度为0 
        app:tabIndicatorHeight="0dp"    
        app:tabSelectedTextColor="#FFFFFF"
        app:tabTextColor="#000000"></android.support.design.widget.TabLayout>

</LinearLayout>

其余地方不用变化,稍微修改一下底部菜单的个数就可以了,我这里就保留了4个,重复的代码我就不贴了,可以参考Android开发之TabLayout实现顶部菜单

效果图:

TabLayout Bottom.png

**注意:这种方式实现起来确实比较简单,不用再自己关联ViewPager与底部菜单的联动。但是这种方式不太好定制指示器的位置,默认指示器在下方,按道理底部菜单的时候应该在上方。我看了很多stackoverflow上面同样的problem,试了都不太好使。如果哪位大侠能比较优雅地解决,可以私信我~~ 偷偷告诉你,在github上有个开源项目 FlycoTabLayout **

二、利用Bottom navigation设计思路来实现

最近 Google 在Material Design设计规范中加入底部导航栏(Bottom navigation),真是千呼万唤始出来啊,因为Google 给出的设计规范之前一直所提倡的是导航栏等相关要素应置于视图顶部,苹果提倡在底部,这次不知怎么的,妥协了~然并卵,谷歌并没有提供对应的控件来实现,用的比较多的还是github上的一个开源项目 Bottom Bar

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016.04.01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前文中已经对主流的底部菜单实现进行了详细说明,但随着Android版本的升级,Google又推出了更方便的实现方式,此文就来一探究竟。
  • 一、利用TabLayout来实现
  • 效果图:
  • 二、利用Bottom navigation设计思路来实现
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档