SVG图片的使用
iconfont:https://www.iconfont.cn/
我们经常在iconfont上找图片 然后下载下载放在项目里面,为了适配我们还要下载不同尺寸的图片,但是明明iconfont上的图片就是矢量图,为何我们不用矢量图呢?
我们在下载图片的时候,最后有一项复制SVG
我们复制出来的如下
1 | <svg t="1586934037521" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3927" width="80" height="80"> |
我们在Android中使用的格式如下
1 | <vector xmlns:android="http://schemas.android.com/apk/res/android" |
我们就可以将上面的转化为
1 | <vector xmlns:android="http://schemas.android.com/apk/res/android" |
也就是说我们把viewBox="0 0 1024 1024"
换为android:viewportWidth="1024" android:viewportHeight="1024"
path里的复制下来就行了
BottomNavigationView的使用
实现底部菜单常用的方式
RadioGroup + ViewPager + Fragment
加载相邻的FragmentFragmentTabHost + Fragment
加载选中的FragmentBottomNavigationView
有选中动画效果
之前我都是用前两种方式来做的 既然官方有现成的 还是推荐用官方的,毕竟有动画效果。
BottomNavigationView是一个底部导航栏控件,一般和fragment一起使用。
项目依赖
1 | implementation 'com.android.support:appcompat-v7:27.1.1' |
MainActivity.xml
1 |
|
主要属性
app:iteamBackground
指的是底部导航栏的背景颜色,默认是主题的颜色app:menu
指的是底部菜单(文字和图片都写在这个里面,推荐图片使用矢量图)app:itemTextColor
指的是导航栏文字的颜色app:itemIconTint
指的是导航栏中图片的颜色(我之前还以为只有矢量的才能着色,其实无论菜单中的图片是否为矢量图都可以设置着色)
res => color => main_bottom_navigation.xml
1 |
|
res => menu=> navigation.xml
1 |
|
Activity代码
1 | import android.os.Bundle |