Articles of android vectordrawable

Android支持库:getDrawable是否为vector而不是vector

使用Android> = 5.0时, Drawable d = getResources().getDrawable(R.drawable.icon) 正确解析XML并返回有效的drawable。 但是当使用新的Vector Drawable Support Library (版本23.4,Gradle 2.1.2)时,此代码在Android 4下崩溃 。 android.content.res.Resources $ NotFoundException … 引起:org.xmlpull.v1.XmlPullParserException:二进制XML文件行#2:无效的drawable标签向量 解决方案是使用 Drawable d = VectorDrawableCompat.create(getResources(), R.drawable.icon, null); 但是,如果资源不是矢量资源,则会崩溃: java.io.FileNotFoundException:损坏的XML二进制文件 那么必须使用什么代码而不是第一行,以便它适用于Android 4和Android 6以及矢量和非矢量绘图 – 例如,在所有情况下,这条线都用于Android 5.0+项目? 支持库文章未提及执行此迁移的方法

viewportwidth / height对Android drawables的影响是什么?

我有一个SVG drawable。 有时,我必须resize。 通常我会更新宽度和高度。 我无法解决的是viewportwidth和height如何影响svg。 似乎改变这些尺寸可以将svg推出可见区域内的视野。 这些计量单位代表什么? 它与宽度和高度的关系分别是多少? 谷歌的文件 (像往常一样)严重不足。 有人可以详细说明吗?

如何将VectorDrawable与Android工具栏一起使用?

在工具栏中使用新VectorDrawable的正确方法是什么? 我尝试使用app:srcCompat元素,如下图所示,但没有显示任何内容。 我在JB(16)上使用android.support.v7.widget.Toolbar和Android Support Library v23.2拥有自己的工具栏布局。

在较旧的Android版本的图层列表中的矢量Drawable

在较新的Android版本上,以下代码: 完美地生产这个 。 然而,早期的Android版本(API 16和19,来自我测试过的)根本不喜欢这个,我得到了 E/AndroidRuntime: FATAL EXCEPTION: main Process: package.app, PID: 11490 android.view.InflateException: Binary XML file line #26: Error inflating class ImageView 通货膨胀。 我已经为我的所有ImageView使用了app:srcCompat ,所以没有问题。 标准矢量Drawables也可以正常工作,但是当放置在layer-list它们会引起混乱。 有没有解决方法?

渲染问题exceptionandroid.graphics.drawable

我收到此错误: 渲染问题渲染期间引发的exception:android.graphics.drawable.VectorDrawable_Delegate.nDraw(JJJLandroid / graphics / Rect; ZZ) 我知道我可以从“N预览”版本更改为“23”并且它可以正常工作但是我必须这样做以便它能够在“预览”中工作吗? 我试过了: 清理和重建 安装了sdk工具 使缓存/重启无效

SplashScreen与矢量拉伸全屏

我使用本教程完成了启animation面,效果很好。 https://www.bignerdranch.com/blog/splash-screens-the-right-way/基本上我通过主题设置了一个splascreen: @drawable/drawable_splashcreen 我想把一个矢量图像放在里面: (drawable_splashcreen) 图像将在整个屏幕上拉伸。 在API 23上它的工作方式应该如此。 但在较旧的设备上它只是拉伸。 我尝试了宽度,高度,甚至搞砸了视口但没有成功。 对此有任何修复?

在API <21更新build.gradle后,停止使用向量绘图工作项目

我有工作项目。 minSdkVersion 17 com.android.tools.build:gradle:2.3.3 gradle 4.1 Android Studio 3 Canary 6 我在我的gradle文件中: defaultConfig { vectorDrawables.useSupportLibrary = true vectorDrawables.generatedDensities = [] } 我也打电话给: AppCompatDelegate.setCompatVectorFromResourcesEnabled(true) 应用程序完美运作 现在转到: com.android.tools.build:gradle:3.0.0-alpha6 添加到存储库google()行 执行gradle clean assembleDebug 。 应用程序继续在API> 20的设备上工作。但对于API <21(谷歌Android模拟器)崩溃启动应用程序。 我看到在logcat错误: Resources$NotFoundException: Resource ID #0x7f080058 (0x7f080058是可绘制的abc_vector_test)。 为什么? UPD 2017-07-19 :它被修复并发布在com.android.tools.build:gradle:3.0.0-alpha7

Google Play:您需要检查APK内的图标,因为它无效

在Google Play开发者控制台中上传APK文件时出现以下错误: 上传失败 您需要检查APK内的图标,因为它无效。 所有我find的答案似乎表明,你必须将vector可绘制图标转换为PNG来摆脱这个错误。 为什么这是必要的? Vector Drawables的全部不是手动生成PNG吗? 编辑: 将我的应用程序图标转换为PNG实际上有帮助。 但我仍然不明白为什么这是必要的。 Android Studio是否应该在构build时生成PNG?

Android Vector Vector Drawable <defs>不支持。 如何解决它?

| 尝试从AndroidStudio 2.2,Ubuntu 14.04的本地svg文件生成vector素材时出现此错误 Could not generate a preview In icon.svg ERROR@ line 6 <defs> is not supported ERROR@ line 25 <use> is not supported 这是svg图标 我谷歌,发现发生,因为AndroidStudio不支持<defs> , <use> … 但我不知道如何解决它? 我可以将<defs>更改为AndroidStudio支持的另一个标签吗? 或者我永远不能从这个SVG文件生成vector素材? 任何帮助或build议将不胜感激。

Android vectorDrawables.useSupportLibrary = true正在停止应用程序

如果我在gradle中使用vectorDrawables.useSupportLibrary = true ,那么不幸的是运行它的应用程序停止。 如果我删除vectorDrawables.useSupportLibrary = true该应用程序的作品。 我的gradle: apply plugin: 'com.android.application' android { compileSdkVersion 25 buildToolsVersion "25.0.2" defaultConfig { vectorDrawables.useSupportLibrary = true applicationId "com.helikanon.firstapp" minSdkVersion 15 targetSdkVersion 25 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', […]