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