0

虽然试图设置一个EditText的复合绘制(可绘制的左侧),但我在Android 4.3上使用矢量绘制的问题。我有我的ic_mobile.xml(svg)包装在一个状态列表中。Xamarin Android支持库23.4.0.1(矢量绘图)

This Works on Android 5.0 +。它曾经在4.3上工作。但最近它停止了工作。我知道Android的残疾人矢量绘图资源,你必须手动重新启用这些

​​

但我仍然看到这个错误

Invalid drawable tag Vector. 

我这么想吗?

回答

1

这是一个非Xamarin的答案,我希望它能帮助你。创建绘图时,将其创建为VectorDrawable。现在,要支持较旧的平台(4.3),您可以使用VectorDrawableCompat.create(...)。不要试图创建一个简单的drawable,因为正如错误中所述,所有SDK上都不支持标记<vector>。 不幸的是,我不知道Xamarin中的等效类是什么,但从这里选择它应该相当简单。

+0

谢谢!这就是我最终做的。但帐篷已关闭...我正在使用黑色的矢量图像。当我通过xml着色时,着色颜色正确应用,但是当我通过代码着色时,它会将其添加到黑色中。任何提示?可能是Tint模式的东西.. – AhmedW

+0

没有提示,因为我不知道你是如何着色它:-)分享一些代码? –

0

我工作围绕这一问题通过代码所做的一切

private VectorDrawableCompat _phoneVectorDrawable; 
_phoneVectorDrawable = VectorDrawableUtil.GetTintedDrawable(Resources, Resource.Drawable.ic_mobile, _tintColor_darkColor, Theme); 

凡ic_mobile是矢量绘制(.XML)

你可以使用它作为这样

_EditTextMobileNumber.SetCompoundDrawablesWithIntrinsicBounds(_phoneVectorDrawable, null, null, null); 
一种化合物可绘制

经过测试并使用Android 4.3至6.0。我认为这是一个Xamarin特定的问题。

+0

将Xamarin支持库升级到25.1.1解决了我的问题。 –

+0

@LukePothier很高兴你把它分类!我会升级和测试!干杯 – AhmedW