Articles of android vectordrawable

Android Vector Drawable 不支持。 怎么解决?

| 尝试从AndroidStudio 2.2,Ubuntu 14.04的本地svg文件生成矢量资产时出现此错误 Could not generate a preview In icon.svg ERROR@ line 6 is not supported ERROR@ line 25 is not supported 这是svg图标 我谷歌发现发生这种情况是因为AndroidStudio不支持 , … 但我不知道如何解决它? 我可以将更改为AndroidStudio支持的另一个标签吗? 或者我永远不能从这个SVG文件生成矢量资产? 任何帮助或建议将非常感谢。

支持库中的AnimatedVectorDrawable和“pathData”的animation

我使用支持库23.2.0中的 animation矢量 ,如下所示: compile ‘com.android.support:support-vector-drawable:23.2.0’ compile ‘com.android.support:animated-vector-drawable:23.2.0’ 我试图animation“ pathData ”(将线条变换为另一个)。 我的代码看起来像这样。 绘制/ ic_done.xml: 绘制/ ic_done_animated.xml: animation师/ tick_path_animation.xml: Java代码: ImageView vImgAnimated = findByViewId(R.id.img); AnimatedVectorDrawableCompat animatedVector = AnimatedVectorDrawableCompat.create(getContext(), R.drawable.ic_done_animated); vImgAnimated.setImageDrawable(animatedVector); animatedVector.start(); 它适用于API级别为21的新设备,但我在API级别为16的设备上遇到问题: java.lang.NumberFormatException: Invalid int: “M4.8,12L4.8,12L4.8,12” at java.lang.Integer.invalidInt(Integer.java:138) at java.lang.Integer.parse(Integer.java:375) at java.lang.Integer.parseInt(Integer.java:366) at com.android.internal.util.XmlUtils.convertValueToInt(XmlUtils.java:123) at android.content.res.TypedArray.getInt(TypedArray.java:254) at android.animation.AnimatorInflater.loadAnimator(AnimatorInflater.java:258) at android.animation.AnimatorInflater.loadObjectAnimator(AnimatorInflater.java:161) at android.animation.AnimatorInflater.createAnimatorFromXml(AnimatorInflater.java:117) at android.animation.AnimatorInflater.createAnimatorFromXml(AnimatorInflater.java:126) at android.animation.AnimatorInflater.createAnimatorFromXml(AnimatorInflater.java:93) at […]

适用于Android N上的启动器图标和其他图像的Android矢量绘图

我将在我的应用程序上使用矢量绘图function的动作栏图标和通知图标。 随着Android N的宣布,他最重要的function之一是屏幕缩放 (在“ 辅助function改进”部分 )。 另一个有趣的function是多窗口支持 (如果您想了解更多信息,请参阅链接 )。 这是否意味着我们应该使用矢量drawable也用于应用程序上使用的启动器图标和其他图像?

以编程方式着色支持向量

Android Studio 2.1版,gradle版本2.1.0,如果发现任何误解,请纠正我:) 我对支持库23.3.0中的支持向量感到困惑。 具体来说,我想要的是以编程方式着色图像按钮,其src被定义为矢量drawable。 据我所知,现在棒棒糖不可能。 我已经阅读了几篇关于这些变化的相关post: 23.2.0公告和变更 : 从Android支持库23.3.0开始,支持向量drawable只能通过app:srcCompat或setImageResource()加载。 以上是否意味着向量xmls只能通过srcCompat或setImageResource()在Lollipop之前使用,因此无法动态着色 ? 这是我的基本图像按钮: 仅适用于棒棒糖及以上产品: Drawable bg = ContextCompat.getDrawable(a, R.drawable.ic_exit_to_app_24dp); DrawableCompat.setTint(bg, headerTitleColor); exitButton.setImageDrawable(bg); 尝试这个pre-lollipop抛出: android.content.res.Resources$NotFoundException: File res/drawable/ic_exit_to_app_24dp.xml from drawable resource ID #0x7f0200bf 也适用于棒棒糖及以上 Drawable bg = ContextCompat.getDrawable(a, R.drawable.ic_exit_to_app_24dp); DrawableCompat.setTint(bg, headerTitleColor); exitButton.setImageResource(R.drawable.ic_exit_to_app_24dp); 这会在pre-Lollipop上引发相同的错误。 但是,如果我在这里删除了Ian Lake所指出的vectorDrawables.useSupportLibrary = true ,目的是让构建工具为Lollipop之前的设备自动生成pngs, 那么pngs不会在棒棒糖前点上色彩 ,所以我回来了一个方块。 我也尝试通过srcCompat指定向量并以编程方式检索它,但我不认为我能够实现这一点,即使它适用于post-Lollipop,如果使用src指定向量。 所以23.3.0的情况似乎是: Post-Lollipop: src和srcCompat接受向量,只有src可以从视图中检索为可绘制的用于编程的着色。 使用getDrawable可以在代码中引用向量,并且可以对它们进行着色。 Pre-Lollipop:srcCompat只能接受向量,无法从视图中以编程方式检索。 setImageResource可以接受向量,但仅当vectorDrawables.useSupportLibrary […]

用于创建AnimatedVectorDrawable的工具

我非常喜欢添加到Android的AnimatedVectorDrawablefunction。 有没有很好的工具来创建这样的animation? 例如,任何创建animation的工具, 如下所述 : 编辑: 到目前为止,我已经find了这些工具(这有点帮助): VectAlign AnimatedVectorMorphingTool SVGO

可以使用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 […]