Articles of android vectordrawable

可以使用GradientColor完全用XML定义填充或描边的渐变吗?

我正在查看GradientColor的文档https://developer.android.com/reference/android/R.styleable.html#GradientColor 。 如何在XML中定义渐变颜色并将其应用于XML矢量drawable? 我在color.xml,styles.xml和XML vector vector中尝试过。 我收到错误“无法将@id / gradclor转换为ColorStateList”: 或者“使用时无法将#FFFFFFFF#00FFFFFF 145转换为ColorStateList”: 使用color.xml中的以下内容: #FFFFFF #00FFFF 145

Android矢量drawable编辑器

我想修改现有的Android可绘制矢量 XML资源,但Android Studio只允许在XML源中执行。 你能推荐一个用于“交互式”编辑Android可绘制XML的工具吗? 或者可能有一种方法可以将这些文件导入到Incscape或Adobe ……

我可以像使用9补丁那样使用矢量drawable吗?

我一直在玩9补丁,在为按钮,表格等制作好的背景时,它们是一个巨大的解脱。 由于矢量drawable现在可用于大量Android版本的支持库,我期待使用矢量drawables,就像我使用9-patch图像一样。 可悲的是,我没有遇到任何设置内容填充和补丁的可能性…… 有没有人设法实现这个9-patch / svg混音?

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拥有自己的工具栏布局。