android中的svg

重写以前的星星组件,然后用了svg,找到一片蛮有意思的总结贴说了三个问题:
1、使用
svg是从5.0才开始支持,所以最多支持到4.0
1、你的Activity必需继承自AppCompatActivity。
2、在你需要使用SVG图的地方(也就是ImageView需要这样)用app:srcCompat代替android:src
3、SVG图的兼容性
由于SVG图是Android5.0推出的,所以他对>=5.0的版本友好的,在5.0之前(>=4.0)使用SVG图你需要将以下代码写到的Activity中(推荐写到BaseActivity)

static {            
    AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}
在kotlin中则可以在onCreate中直接写
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);

svg好处:
1、不失真
2、它可以被动态的改变颜色,一个图标多种使用
劣势
1、它不可以被用来做自定义RatingBar的背景『SVG来做RatingBar的自定义样式背景,RatingBar只会显示一个图标』
2、SVG图是不支持硬件加速的『它不能用来做图片的占位图和错误图』

svg图的制作
1、网友推荐的Vector magic
2、studio自带的Vector Asset ,目前都是用系统自带的,然后生成之后修改颜色

发布了66 篇原创文章 · 获赞 5 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/yuemitengfeng/article/details/80453724
今日推荐