美文网首页功能控件Android动画三方
Android 底部栏 新组件 BottomNavigation

Android 底部栏 新组件 BottomNavigation

作者: sirai | 来源:发表于2016-10-24 23:24 被阅读5193次

    现在我们大多数 底部栏 应该沉浸在tablayout +view pager的情况 。
    当然 我相信 还有不少数的人 在使用radiogroup 哈哈 说的是不是你 ,反正我是用的tablayout。。。那今天就分享一下这两篇BottomNavigationView文章 其实用啊很简单 ,效果还不错

    首先大家可以看看这篇文章也不错,封装好的BottomNavigationView
    这是原文作者 开始都忘了写转载:
    http://www.jianshu.com/p/1a1a1859793d

    封装好的.gif

    概述

    BottomNavigationView 很早之前就在 Material Design 中出现了,但是直到 Android Support Library 25 中才增加了 BottomNavigationView 控件。展示如图:

    8E42C3D8-E597-40AA-BDB2-BDC43DEF6B68.png

    优点

    使用很方便;过度动画效果不错;不用改变颜色来标记状态,也能有直观的选中状态

    素材图片是通过一个Android Stuido插件android material design icon generator,进行下载的。这个插件中有官方全套的Material Design图片素材,安装这个插件后,可以通过new最后一个选项Material Design Icon进行下载想要素材,也可以在布局文件窗口直接快捷键ctrl + alt +m进入下载界面

    代码部分

    • build.gradle 文件
    compile'com.android.support:design:25.0.0'
    
    • 布局文件
    <RelativeLayout 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.support.design.widget.BottomNavigationView
            android:id="@+id/bnv_bottom_activity"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            app:itemBackground="@color/colorAccent"
            app:itemIconTint="@android:color/white"
            app:itemTextColor="@android:color/white"
            app:menu="@menu/bottom_view" />
    
    
    </RelativeLayout>
    
    • 创建一个menu文件夹,新建名字为bottom_view.xml的Menu resource文件
    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android">
    
         <item
            android:icon="@drawable/ic_account_balance_white_24dp"
            android:title="首页" />
        <item
            android:icon="@drawable/ic_face_white_24dp"
            android:title="好友" />
        <item
            android:icon="@drawable/ic_accessibility_white_24dp"
            android:title="广场" />
    
        <item
            android:icon="@drawable/ic_settings_white_24dp"
            android:title="设置" />
    
    </menu>
    
    • 在Activity使用
    public class BottomViewActivity extends AppCompatActivity {
        private MenuItem lastItem; // 上一个选中的item
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_bottom_view);
            initView();
        }
    
        /**
         * 初始化
         */
        private void initView() {
           BottomNavigationView bnv = (BottomNavigationView) findViewById(R.id.bnv_bottom_activity);
            //拿到默认选中的item
            lastItem = bnv.getMenu().getItem(0);
            //点击选择item
            bnv.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
                @Override
                public boolean onNavigationItemSelected(@NonNull MenuItem item) {
                    if (lastItem != item) { // 判断当前点击是否为item自身
                        lastItem = item;
                        String title = item.getTitle().toString();
                        Toast.makeText(BottomViewActivity.this, title, Toast.LENGTH_LONG).show();
                        return true;
                    }
                    return false;
                }
            });
        }
    }
    

    相关文章

      网友评论

      • baa0ac740b1f:文章太简陋
      • suphu:怎么加通知的红点呢
        XxooXxoo:有个api badgeItem
      • 938b0e0dfc52:试一试
      • 英勇青铜5:这个,这位同学,怎么看着,图片是我的,代码是我敲的,文字也基本是我的。。转载引用也注明一下啊:sweat::sweat::sweat:
        sirai:@英勇青铜5 ok ok 只顾着写那个动效的地址!copy 一番忘记 写转载!这就去写上!
      • 丸_子:欢迎加入android QQ群:104286694
      • answer_05:你好,我怎么查看我的Support Library的版本呢?
        sirai:@answer_05 这是不是该去sdk文件夹里看 一般我都是compile 进去 他会提示下载 我就顺带下载了
      • 阿明的小蝴蝶:mark 程序媛?
        阿明的小蝴蝶: @sirai 25的v4才有吗,要求有点高唉。下午用了试试
        sirai:@阿明的小蝴蝶 嗯嗯
      • 宾格IT民工:不错不错,这个改天试试
      • fendo:赞一个!!

      本文标题:Android 底部栏 新组件 BottomNavigation

      本文链接:https://www.haomeiwen.com/subject/agtruttx.html