Articles of android vectordrawable

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

如果我在gradle中使用vectorDrawables.useSupportLibrary = true ,那么不幸地运行它停止的应用程序。 如果我删除vectorDrawables.useSupportLibrary = true,该应用程序可以正常工作。 我的朋友: 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’, […]

KitKat及以下的VectorDrawableCompat Resources $ NotFoundException

当我启用 vectorDrawables.useSupportLibrary = true 我在KitKat和以下设备上获得了很多resourceNotFoundExceptions。 我得到了这个用于NavigationView for Menus以及用于带有app:srcCompat的ImageViews android.content.res.Resources$NotFoundException: Resource ID #0x7f02006b at android.content.res.Resources.getValue(Resources.java:2305) at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:268) at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:178) at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:173) at android.support.v7.view.menu.MenuItemImpl.getIcon(MenuItemImpl.java:421) at android.support.v7.view.menu.ActionMenuItemView.initialize(ActionMenuItemView.java:114) at android.support.v7.widget.ActionMenuPresenter.bindItemView(ActionMenuPresenter.java:206) at android.support.v7.view.menu.BaseMenuPresenter.getItemView(BaseMenuPresenter.java:182) at android.support.v7.widget.ActionMenuPresenter.getItemView(ActionMenuPresenter.java:192) at android.support.v7.widget.ActionMenuPresenter.flagActionItems(ActionMenuPresenter.java:480) at android.support.v7.view.menu.MenuBuilder.flagActionItems(MenuBuilder.java:1138) at android.support.v7.view.menu.BaseMenuPresenter.updateMenuView(BaseMenuPresenter.java:91) at android.support.v7.widget.ActionMenuPresenter.updateMenuView(ActionMenuPresenter.java:229) at android.support.v7.view.menu.MenuBuilder.dispatchPresenterUpdate(MenuBuilder.java:284) at android.support.v7.view.menu.MenuBuilder.onItemsChanged(MenuBuilder.java:1030) at android.support.v7.view.menu.MenuBuilder.startDispatchingItemsChanged(MenuBuilder.java:1053) at android.support.v7.app.AppCompatDelegateImplV7.preparePanel(AppCompatDelegateImplV7.java:1345) at android.support.v7.app.AppCompatDelegateImplV7.doInvalidatePanelMenu(AppCompatDelegateImplV7.java:1583) at android.support.v7.app.AppCompatDelegateImplV7.access$100(AppCompatDelegateImplV7.java:89) at android.support.v7.app.AppCompatDelegateImplV7$1.run(AppCompatDelegateImplV7.java:128) at android.os.Handler.handleCallback(Handler.java:733) at […]

VectorDrawable在API 23上无法正确呈现

我尽可能用VectorDrawables替换我的所有图标。 但是我注意到它们中的一些在API 23上无法正确渲染,颜色似乎正在流失。 其中一个渲染很好。 这是我创建的隔离项目的屏幕截图: 在API 21上看起来非常好: 示例应用程序的源代码在这里 我在ImageView上使用AppCompat 24.0.0,app:srcCompat并设置了vectorDrawables.useSupportLibrary = true。 我还尝试使用目标23的AppCompat 23.4.0。但是,如果我删除appCompat并将minSdkVersion设置为21并使用本机向量支持,则结果不会更改。 IDE不会抱怨任何不受支持的内容。 我该如何找出问题所在? 这是一个平台错误吗? 有没有解决方法?

精确控制Androids VectorDrawableanimation

更新:find解决方案! 向下滚动查看我接受的答案! 我想为一个图像的多个元素设置animation并将animation链接到ViewPagers位置(因此多个元素会根据拖动的当前页面进行变形或飞入/滑出)。 那么,有没有办法精确控制animation的当前帧? 例如,假设我有这个集合: animation矢量文件: 用于运行animation的Java代码: ImageView mImage1 = (ImageView) findViewById(R.id.image_1); AnimatedVectorDrawableCompat animated = (AnimatedVectorDrawableCompat) mImage1.getDrawable(); animated.start(); 有没有办法像setCurrentDuration(400)一样控制animation,这可能会将animation的当前状态设置为它的一半? 也许有办法将可绘制的矢量分割成层并以编程方式为它们制作animation? 提前致谢!

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上它的工作方式应该如此。 但在较旧的设备上它只是拉伸。 我尝试了宽度,高度,甚至搞砸了视口但没有成功。 对此有任何修复?