У меня проблема, которую я не знаю, как решить. Пожалуйста, помогите мне, если сможете. В моем приложении мне нужно создать расширенный вид пользовательского представления. В этом представлении я должен нарисовать много прямоугольников и создать их с помощью canvas.drawRect или canvas.drawRoundRect. Ясно. Но я хочу создать составной дизайн этих прямоугольников (с градиентами, углами, отступами и т. Д.), И я хочу выполнить эти настройки (градиенты, углы, отступы и т. Д.) В XML. Как я могу это сделать? Проблема в том, что я определяю форму в XML. Я могу использовать эту возможность рисования только в качестве фона, но когда я рисую прямоугольник, я не могу установить фон для прямоугольника. Может есть другой способ решить проблему. Могу ли я использовать объект формы XML для установки не только в качестве фона, но и для объекта представления с координатами x, y и шириной, высотой?
Изменить: я могу нарисовать прямоугольник:
canvas.drawRect(x1, y1, x2, y2, paint);
но у меня есть настройки прямоугольника в XML следующим образом:
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- Specify a gradient for the background -->
<gradient
android:angle="90"
android:startColor="#55000066"
android:centerColor="#FFFFFF"
android:endColor="#55000066" />
<!-- Specify a dark blue border -->
<stroke
android:width="2dp"
android:color="#000066" />
<!-- Specify the margins that all content inside the drawable must adhere to -->
<padding
android:left="5dp"
android:right="5dp"
android:top="5dp"
android:bottom="5dp" />
<corners
android:topLeftRadius="10dp"
android:topRightRadius="10dp"
android:bottomLeftRadius="10dp"
android:bottomRightRadius="10dp" />
</shape>
и я хочу применить эти настройки к своему прямоугольнику. Как?