Я пытаюсь создать собственное представление Android и применить фоновый рисунок, который представляет собой список слоев.
Список слоев состоит из двух пунктов:
- Цвет фона (белый)
- Простая фигура, которую можно рисовать, представляет собой заштрихованный прямоугольник с закругленными углами.
вот вытягиваемый xml:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/white"/>
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="1dp" />
<stroke
android:width="2dp"
android:color="@color/background_green" />
</shape>
</item>
</layer-list>
Пользовательское представление - это класс, унаследованный от Android.view.View, который в настоящее время не имеет НИКАКИХ функций, кроме необходимых перегрузок для измерения.
Я применяю фон в определении представления в макете действия:
<view
android:layout_width="match_parent"
android:layout_height="300dp"
class="com.example.widget.TestView"
android:id="@+id/view2"
android:layout_gravity="center_horizontal"
android:background="@drawable/rect_sig_cap"
android:layout_margin="20dp" />
Я ожидаю увидеть представление с белым фоном и зеленой рамкой. Что я на самом деле вижу при развертывании проекта, так это представление с черным фоном и зеленой рамкой.
Что интересно, это правильно отображается в предварительном просмотре дизайнера в Android Studio. Только когда я развертываю его на устройстве, он становится черным.
Я упустил здесь что-то очевидное?