首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Android 安装包优化】Android 中使用 SVG 图片 ( 使用 appcompat 支持库兼容 5.0 以下版本的 Android 系统使用矢量图 )

文章目录 一、使用 appcompat 支持库兼容 5.0 以下版本的 Android 系统使用矢量图 二、完整代码示例 1、build.gradle 构建脚本 2、布局文件 3、运行效果 三、参考资料...一、使用 appcompat 支持库兼容 5.0 以下版本的 Android 系统使用矢量图 ---- 参考 Android 官方文档 : 添加多密度矢量图形 使用支持库添加对矢量图资源的支持 : com.android.support...:appcompat:1.2.0' } 引用矢量图 : 在布局文件中 , 使用 app:srcCompat 属性标签 , 设置矢量图 ; <ImageView android:layout_width..." app:layout_constraintTop_toTopOf="parent" app:srcCompat="@drawable/ic_plane"/> 运行效果..., 支持 5.0 以下版本手机使用矢量图 , 这个是创建应用时自带的配置 implementation 'androidx.appcompat:appcompat:1.2.0' implementation

66620

Android--SVG在安卓系统中的应用

,性能高等优势,谷歌在Android5.0引进了SVG,并转化为Vector,在Android中指的是Vector Drawable,也就是Android中的矢量图,可以说Vector就是Android...中的SVG实现(并不是支持全部的SVG语法,现已支持的完全足够用了) Vector图像刚发布的时候,是只支持Android 5.0+的,自从AppCompat 23.2之后,Vector可以使用于Android...接下来是我们程序员需要注意的地方,在工程中使用Vector Drawable兼容5.0以下的版本方法 1、使用Android Studio 2.2以上的版本,gradle版本在2.0以上 1.1、在gradle...(true); } 2.1 ImageView/ImageButton控件使用app:srcCompat代替原来的android:src,代码里面使用无区别 2.2 Button 不支持app:...srcCompat,支持Xml 中使用在Button的selector 2.3 RadioButton 直接使用 2.4 textview的drawable 直接使用 2.5 Android5.0以下使用的动态

2.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android Vector曲折的兼容之路

    4.jpg 在文章后面,会给出本文的Demo和效果图,并开源在Github Vector Drawable Android 5.0发布的时候,Google提供了Vector的支持。...Vector图像刚发布的时候,是只支持Android 5.0+的,对于Android pre-L的系统来说,并不能使用,所以,可以说那时候的Vector并没有什么卵用。...ImageView\ImageButton 对于ImageView这样的控件,要兼容Vector图像,只需要将之前的android:src属性,换成app:srcCompat即可,示例代码如下所示: <...Button Button并不能直接使用app:srcCompat来使用Vector图像,需要通过Selector来进行使用,首先,创建两个图像,用于Selector的两个状态,代码如下所示: selector1...但这种方式如果通过生成png来兼容5.0以下机型的话,会报pathData错误,编译器不会去读取string.xml,只能把pathData写到Vector图像中,动画文件中也是一样,这也是为了兼容做出的牺牲吗

    1.8K30

    android 中 vector 的用法 ,坑 ,怎么替代,关于这几方面的一些看法

    但是,Android和iOS对于矢量图的支持还非常弱. android在最新的支持包中,已经加入了向下兼容的库:VectorDrawableCompat和AnimatedDrawableCompat,关于这两点的介绍网上很多...意思是说 在appcompat 23.2.0开始,提供了以上两种支持库一个用于兼容矢量图,但是这个支持库要使用的话,还得在app的gradle里面加个这样的配置: //在gradle2.0及以上: android...这里要说到,这种的局限性: 1.只能用于AppCompatImageView或者AppCompatImageButton或其子类,而且必须在app:srcCompat标签中,额,那我要用在TextView...前面所说的这个矢量图只能用在AppcomatImageView,AppcompatImageButton, 但实际上,用ImageView,ImageButton加上app:srcCompat也行,...app:srcCompat="@drawable/icon_shopping"/> android.support.v7.widget.AppCompatTextView android

    1.1K30

    从400多k的大小减到了2B,我的APP是怎么优化的?

    ,用户体验还是很不好的,下面我们就来整理一下 Android apk 的优化方法 一、icon 图标使用 svg 在我们的App中会有很多icon,而且美工小姐姐一般都是成套的给,所以在我们的res文件中可能需要放入多套...Android 本身是不支持直接导入svg文件的,所以我们需要将svg 文件进行转换一下.如下: 使用如下: <ImageView android:layout_marginTop="...android:layout_gravity="center_horizontal" android:layout_centerInParent="true" app:srcCompat..." //minSdkVersion 19 (5.0) vectorDrawables.generatedDensities('xhdpi','xxhdpi','xxxhdpi...内就只需要一套图就可解决多套图造成apk体积增大的问题了 四、App内大图压缩,使用webp格式图片 WebP格式,谷歌开发的一种旨在加快图片加载速度的图片格式。

    1.3K40

    app: 和 android:的区别

    android:textColor="#000000" android:background="#FFFFFF"/> app: 前缀: 这些属性通常是由第三方库、支持库或者应用本身定义的。...例如,app:backgroundTint、app:srcCompat 等,这些属性是为了扩展 Android 原生属性而引入的。通常在使用支持库或者自定义视图时,会使用 app: 前缀。...app: 属性通常是特定于应用程序的,或者是与特定支持库或自定义视图相关联的。这些属性通常需要在布局文件或者相关的配置文件中声明相关的命名空间。...app: 属性有时需要特定的支持库或者兼容性库来实现,特别是在使用最新的 Android 特性或者支持旧版本 Android 的时候。...推荐做法: 一般来说,如果你使用的是 Android 框架提供的标准属性,则应使用 android: 前缀。 如果你使用的是第三方库、支持库或者自定义视图提供的属性,则应使用 app: 前缀。

    11010

    AppCompat v23.2  -- Vectors的时代

    相信你已经看到了app23.2的支持库的更新日志了,现在在支持库中已经兼容了矢量图:VectorDrawableCompat和Animated VectorDrawableCompat 它被实现成了一个独立的功能模块...众所周知:开发者想使用资源图片,我们已经把支持矢量图绘制添加到了APP中。 一下是几个整合的原因,包括: 允许开发者在所有的Android2.1以上的设备更早的用上图 允许APP本身能够用矢量图。...如果你没有启用这个标志,当你在KitKat上运行你的APP你会看到以下(或者类似)错误: Caused by: android.content.res.Resources$NotFoundException...我们已经加入了app:srcCompat属性去支持VectorDrawableCompat。它代替了android:src属性,并且你也可以安全的使用那些不属于矢量图的资源。...="wrap_content" android:layout_height="wrap_content" app:srcCompat="@drawable/ic_search"/> 你也可以这样设置它

    47440

    来自一位五年Android工程师APK体积优化的一些总结

    app:srcCompat="@drawable/ic_arrow_back_black_24dp" 这里很多人会有两个疑问? 这个和apk体积优化有个毛线关系?...在你的app->build.gradle中的defaultConfig标签中添加如下内容: //5.0的兼容适配 //5.0以下 将svg图片生成指定维度的png图片,下面写几个就会生成几个相应的图片...其实真的很简单,只要在展示的图片中添加 app:tint="颜色值" 这样就可以改变图片的颜色,那么状态选择器呢?怎么用呢?其实很简单了!下面我们来看代码! 先来看看两个状态选择器的代码: <?...但是这里面有几个点需要注意下: 颜色的那个状态选择器要方法color文件夹下; 设置tint的时候要使用app为前缀,否则5.0以下的会报错; 如果你设置的是svg的图片要使用srcCompat如果是正常图片使用...在app的build.gradle中的defaultConfig中添加这样一句就可以了! resConfigs('zh-rCN'') 这里其实你还可以添加多个,直接用逗号连接就可以了!

    1.6K31
    领券