Xamarin.Android не может использовать векторные изображения - PullRequest
0 голосов
/ 16 июня 2019

Недавно я столкнулся с проблемой невозможности использования векторного рисованного объекта из родного проекта Android в Xamarin.Android

Severity Code Description Project File Line Suppression State Error  No resource found that matches the given name (at 'background' with value '@drawable/service_border')

Кто-нибудь сталкивался с такой же проблемой?

Я также устал устанавливать Xamarin.Android.Support.Vector.Drawable и включить его в MainActivity как:

AppCompatDelegate.CompatVectorFromResourcesEnabled = true;

Векторное изображение имеет следующее расширение drawable / service_border.xml , если это имеет значение

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners
        android:radius="20dp"/>
    <padding
        android:left="10dp"
        android:right="10dp"
        android:top="10dp"
        android:bottom="10dp"/>
    <stroke
        android:width="1dp"
        android:color="#CCCCCC"/>
</shape>

1 Ответ

1 голос
/ 16 июня 2019

1- Сначала необходимо преобразовать файл SVG в формат VectorDrawable , этот инструмент ( svg2android ) поможет вам сделать это.

2- ВключитеVectorDrawable XML-файл (например, mySVG.xml) в папке Resources / drawable.

3 - Теперь вы можете отобразить этот VectorDrawable напрямую с помощью ImageView:

var resId = Resources.GetIdentifier("mySVG", "drawable", "YOUR_PACKAGE_NAME");
myImageView.SetImageResource(resId);

Надеюсь, эта помощь.

...