BottomNavigationView(design包提供的一个组件)
来源:互联网 发布:dht网络翻墙 编辑:程序博客网 时间:2024/06/11 07:51
它是design包提供的一个底部导航栏组件。效果如图(有动画效果)
既然是design包的组件。那么使用前,肯定要导入包依赖,且design包必须是25以上,因为这个组件是在design更新到25才有的。
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support.constraint:constraint-layout:1.0.2' compile 'com.android.support:design:25.3.1' testCompile 'junit:junit:4.12'}
使用起来比较容易只要布局引入,添加menu,然后给他添加监听就可以了。
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.design.MainActivity"> <android.support.v4.view.ViewPager android:id="@+id/page" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" /> <android.support.design.widget.BottomNavigationView android:id="@+id/bnv" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" app:menu="@menu/navigation" /></LinearLayout>
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/item1" android:title="第一个" android:icon="@drawable/ic_arrow_back_black_24dp" /> <item android:id="@+id/item2" android:title="第二个" android:icon="@drawable/ic_arrow_downward_black_24dp" /> <item android:id="@+id/item3" android:title="第三个" android:icon="@drawable/ic_arrow_forward_black_24dp" /> <item android:id="@+id/item4" android:title="第四个" android:icon="@drawable/ic_arrow_upward_black_24dp" /></menu>
bnview= (BottomNavigationView) findViewById(R.id.bnv);bnview.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { switch (item.getItemId()){ case R.id.item1: viewPager.setCurrentItem(0); break; case R.id.item2: viewPager.setCurrentItem(1); break; case R.id.item3: viewPager.setCurrentItem(2); break; case R.id.item4: viewPager.setCurrentItem(3); break; } return true; } });
布局引入了BottomNavigationView,里面要通过app:menu="@menu/navigation 为它指定一个菜单布局。菜单的内容就是它要显示的东西。
还可通过app:itemIconTint="@android:color/white"来定义显示的图标颜色。
app:itemTextColor="@android:color/white" 来定义文字颜色
app:itemBackground="@android:color/black" 来定义导航栏背景。
在menu中,title指定文字,icon指定图标。其中icon一般指定为矢量图,也可以指定为其他图标,不过只显示为黑色,至于矢量图相关。文章后面会有介绍。菜单中元素的个数最后为3-5个。少了不会出错,但不协调,多了会出错。
活动中给他们添加监听,不过这个监听默认的返回值是false。这个地方注意了。返回值必须改为true,不然没有动画效果,这就是BottomNavigationView 没有动画效果的原因,所以返回值改为true。
我这里是用BottomNavigationView+Viewpager+fragment实现了一个可切换页面的底部导航栏。
网址http://download.csdn.net/detail/lhp15575865420/9914974
最后说一下矢量图。至于矢量图的概念,读者自行百度。找到drawable有键new,找到vector asset进入。
点击icon小图标会出来as自带的矢量图,还可以点右边的local file导入本地矢量图,但是只支持svg和psd格式。矢量图库有很多矢量图一般情况都能用得上
阅读全文
0 0
- BottomNavigationView(design包提供的一个组件)
- BottomSheetDialog(design包的一个组件)
- Material Design 提供的组件
- 一个增强BottomNavigationView的安卓库。
- 一个增强 BottomNavigationView 的安卓库。
- Material Design之导航栏BottomNavigationView的使用
- 提供一个Image组件的close函数
- Material Design系列-- BottomNavigationView(转载)
- Android Material Design 之 BottomNavigationView
- 测试java.swing包提供的轻量级组件的例子
- Android Design Library之二: BottomNavigationView
- Mono项目提供的一个控制台程序辅助包GetOptions
- BottomNavigationView 的使用
- BottomNavigationView的使用
- BottomNavigationView 的使用
- BottomNavigationView 的使用
- BottomNavigationView +fragment的使用
- BottomNavigationView 的使用
- 杭电 OJ 1201 18岁生日
- Android使用已有sqlite数据库——内部存储
- nyoj218 Dinner
- csu 1562 Fun House
- 有限元方法基础入门教程(一维弹性问题的有限元程序)
- BottomNavigationView(design包提供的一个组件)
- (12)review meeting和demo的关系
- BZOJ 1121 [POI2008]激光发射器SZK 结论题
- 【STM32】 keil软件介绍--工具栏
- (13)回顾会议
- 让电脑自动开机、关机以及取消开机密码
- JavaScript实战-基于数组的级联列表实现
- csu 1567 Reverse Rot
- bootstrap附加导航插件