Articles of vectordrawable

Android:如何以编程方式为矢量绘图设置笔触颜色

我在Android中遇到了VectorDrawable的问题。 我有一个矢量可绘制文件(.xml),我想在位图上绘制它。 我设法加载这个文件并在位图上绘制它。 我可以改变它的填充颜色,但问题是我不能改变它的笔触和颜色。 任何帮助将不胜感激! 谢谢! 这是可绘制文件: 这是我加载和填充蓝色形状的方式: Drawable drawable = getResources().getDrawable(R.drawable.graph_rounded_rectangle); drawable.setBounds(0, 0, width, height); drawable.setColorFilter(new PorterDuffColorFilter(getResources().getColor(R.color.blue), PorterDuff.Mode.MULTIPLY)); drawable.draw(canvas);

VectorDrawable导致NumberFormatException

我正在使用Android Lollipop的相当新的和酷的矢量drawables。 但是对于一些SVG文件,当使用drawable时,我在运行时总是得到NumberFormatException。 这是我的堆栈跟踪: android.view.InflateException: Binary XML file line #60: Error inflating class android.widget.ImageButton at android.view.LayoutInflater.createView(LayoutInflater.java:633) at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55) at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741) at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) at android.view.LayoutInflater.inflate(LayoutInflater.java:504) at android.view.LayoutInflater.inflate(LayoutInflater.java:414) at censored at android.support.v4.app.Fragment.performCreateView(Fragment.java:1786) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:947) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126) at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489) at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:486) at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:163) at android.support.v4.view.ViewPager.populate(ViewPager.java:1073) at android.support.v4.view.ViewPager.populate(ViewPager.java:919) at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1441) at android.view.View.measure(View.java:17430) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463) at […]

InflateException:为VectorDrawableCompat扩展类ImageView时出错

VectorDrawableCompat终于进入了SDK 23中的支持库。但它似乎没有用,或者我可能缺少一些东西。 drawable/mypic.xml : fragment_bla.xml : 此代码适用于Lollipop,但不适用于KitKat。 我错过了什么? 例外: 09-06 14:26:53.637 31820-31820/com.bla E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: com.bla, PID: 31560 android.view.InflateException: Binary XML file line #7: Error inflating class android.widget.ImageView at android.view.LayoutInflater.createView(LayoutInflater.java:623) at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) at android.view.LayoutInflater.onCreateView(LayoutInflater.java:672) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:697) at android.view.LayoutInflater.rInflate(LayoutInflater.java:758) at android.view.LayoutInflater.inflate(LayoutInflater.java:495) at android.view.LayoutInflater.inflate(LayoutInflater.java:400) at com.hohero.fragment.Intro1Fragment.onCreateView(Intro1Fragment.java:14) at android.support.v4.app.Fragment.performCreateView(Fragment.java:1962)

Android Studio 3.0矢量drawables和LINT工具:ignore =“VectorPath”

升级到3.0后,Android Studio开始抱怨矢量绘图中的长路径。 警告说: 很长的矢量路径(7958个字符),这对性能不利。 考虑降低精度,删除次要细节或光栅化矢量。 less …(⌘F1)使用长向量路径对性能不利。 有几种方法可以缩短pathData:*使用较少的精度*删除一些细微的细节*使用Android Studio矢量转换工具*光栅化图像(转换为PNG) 文档https://developer.android.com/guide/topics/graphics/vector-drawable-resources.html向我们展示了如何在我们的应用程序中使用矢量绘图,并通过png等推荐它。 我一直在使用Android Studio矢量转换工具和这个优秀的服务将SVG转换为矢量绘图: http : //inloop.github.io/svg2android/ 是否还有其他服务可以减少矢量可绘制的复杂性? 我在哪里可以find关于我的矢量绘图可以“先进”的指导方针?

如何拥有矢量drawables的选择器?

背景 我已经制作了以下ImageView,以支持选择器为“src”: public class CheckableImageView extends ImageView implements Checkable { private boolean mChecked; private static final int[] CHECKED_STATE_SET = { android.R.attr.state_checked }; public CheckableImageView(final Context context, final AttributeSet attrs) { super(context, attrs); final TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.com_app_CheckableImageView, 0, 0); setChecked(a.getBoolean(R.styleable.com_app_CheckableImageView_com_app_checked, false)); a.recycle(); } @Override public int[] onCreateDrawableState(final int extraSpace) { final int[] drawableState = […]

如何保持VectorDrawable的宽高比?

我一直在努力为Android应用创建一个启animation面,如Splash Screens the Right Way中所述 大书呆子牧场的风格 @drawable/background_splash background_splash看起来像 并且sparrow.xml看起来像 但是,我看到的问题是,当设备屏幕上显示vector的宽度和高度属性时,不保持1:1的宽高比。 例如,在android studio中如下显示圆圈 但是,上面的图像在设备上显示如下,因为它接管了可用的所有可用高度。

VectorDrawable渲染问题

我遇到了支持库引入的VectorDrawables问题。 环顾四周,我读到了Android Studio中有关错误缩放或错误预览的类似问题。 好吧,我的问题很不一样。 问题: 实际上,我的VectorDrawable在Android Studio预览中完美呈现,但在运行时在设备上被搞砸了(Android v.5.1.1和6.0)。 出口: 从一个SVG文件(只有一个复合路径)开始,我使用Android Studio工具导入它(但我也尝试了许多其他工具来转换它)。 该文件的制作方式与其他文件相同,但只有一些渲染效果不佳。 我做了什么: 我尝试使用app:srcCompat(即使使用src :)在imageview中设置它。 我尝试在菜单中使用它(直接设置图标,或使用选择器)。 SVG代码: PATHOLOGIES 可转换代码: 在Android Studio上呈现: 在设备上呈现(在AndroidStudio导入后): 我无法弄清楚是什么导致了糟糕的渲染。 我很确定这不是一个svg问题(请纠正我,如果我错了,请),因为其他drawables正确渲染。 我甚至不会要求库错误,因为我碰巧是唯一遇到问题的人。 我究竟做错了什么? 谢谢您的帮助

AnimatedVectorDrawable不animation

我试图让animationvectorDrawables工作,并根据http://developer.android.com/reference/android/graphics/drawable/AnimatedVectorDrawable.html做了一切,它仍然无法正常工作。 我也尝试让这个项目有效。 https://github.com/chiuki/animated-vector-drawable 有谁知道为什么它没有animation? 这是我使用的文件: AnimatedVectorDrawable ​ ​ VectorDrawable ​ ​ ​ ​ ​ ​ animation师 (morph_to_drop) 主要布局 ​ ​ ​ ​ ​ ​

Android Layer-List VectorDrawable大小

我的问题与这个问题有关: 链接 。 我最近将用于Android的大部分资源从用于不同分辨率的不同png文件更改为矢量绘图。 我正在使用“滑动到删除”库 ,可以在滑动过程中更改其视图的背景,以显示带有垃圾桶图标的Gmail风格的红色背景,类似于此(具有绿色背景和支票)图标): 我曾经使用以下代码执行此操作,而我仍然使用<API 21 但是,API 21+需要不同的语法 现在,不是左/右侧的图标,API 21和API 22(Lollipop)上的图标被拉伸以填满屏幕。 有没有办法指定图标的宽度?

在运行时添加animation

我想在运行时为AnimatedVectorDrawable设置AnimatedVectorDrawable ,而不使用.xml文件。 实际上我使用.xml文件的方式与文档示例相同: AnimatedVectorDrawable 所以,我有vector_drawable.xml包含带有嵌套 和定义形状的 。 对于这个向量,我有animated_vector_drawable.xml包含其中android:animation绑定到 。 最后一步是使用定义animation文件rotation.xml ,由animated_vector_drawable.xml 一切正常,但问题出现了,当我需要创建许多不同或类似animation的不同形状(向量)时,因为这会生成许多.xml文件。 我不能将一个.xml文件中的准备好和准备好的包含到另一个(某种标记)中,所以我需要将相同的代码复制到另一个文件中。 这很烦人。 如果我想对少数元素使用相同的animation,但每个animation必须有不同的延迟或任何属性值( alpha , rotation , interpolator …),我必须创建包含新.xml文件一个属性值而不是使用相同的,一个文件具有更改的属性值。 这也很烦人。 我发现我可以使用ObjectAnimator并为AnimatedVectorDrawable设置alpha & fillColor但是当我想要更改它的translateX , translateY , rotation或任何其他属性时会出现问题。 有没有办法在没有.xml情况下做到这一点。 我只想访问