Пользовательский рисунок не отображается в Xamarin Studio

Я использую пользовательский рисунок для отображения границы вокруг Android TextView.

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:bottom="1dp" android:left="-2dp" android:right="-2dp" android:top="-10dp">
        <shape android:shape="rectangle" >
            <stroke android:width="1dp" android:color="@color/pale_grey" />
            <solid android:color="#00FFFFFF" />
            <padding android:left="24dp" android:right="24dp"
                android:top="12dp" android:bottom="12dp" />
        </shape>
    </item>
</layer-list>

Это отлично работает во время выполнения, но не отображается в конструкторе Xamarin Studio (или конструкторе в Visual Studio) при просмотре действия, в котором есть TextView с примененным фоном, например.

<TextView
    android:id="@+id/txtHeightSelection"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:clickable="true"
    android:textSize="@dimen/text_size_large"
    android:text="Height"
    android:textStyle="bold"
    android:textColor="#1f2233"
    android:background="@drawable/customborder2"
    local:MvxBind="Click AddEntryCommand, CommandParameter='Height'" />

Неудивительно, что это PITA, так как мне нужно собрать и развернуть приложение только для того, чтобы проверить некоторые простые стили. Это известная проблема?


person Pat Long - Munkii Yebee    schedule 12.11.2014    source источник


Ответы (1)


Это известная проблема, которая будет решена в ближайшем выпуске (помеченном как 5.7):

В качестве обходного пути откройте рисуемый файл в шестнадцатеричном редакторе (входит в состав Xamarin Studio) и удалите первые три байта, если они представляют собой следующую последовательность: EF BB BF.

Из Багзиллы:

The issue comes from the fact that our Android rendering process doesn't like the UTF-8 BOM sequence we forcefully add to XML files in some places.

A simple workaround is to open the drawable XML files in an editor that doesn't write a BOM and re-save the file from there. You can also open it up in an hexadecimal editor and remove the first three bytes of the file (before the initial '<').

person matthewrdev    schedule 12.11.2014