У меня проблема, которую я не знаю, как ее решить. Пожалуйста, помогите мне, если сможете. В моем приложении мне нужно создать пользовательский вид расширенного представления. В этом представлении я должен рисовать много прямоугольников, и я создаю их с помощью canvas.drawRect или canvas.drawRoundRect. Ясно. Но я хочу создать сложный дизайн этих прямоугольников (с градиентами, углами, paddings и т. Д.), И я хочу выполнить эти настройки (градиенты, углы, paddings и т. Д.) В XML. Как мне это сделать? Проблема в том, что я определяю форму в XML. Я могу использовать эту возможность только в качестве фона, но когда я рисую прямоугольник, я не могу установить фон для прямоугольника. Возможно, есть другой способ решить проблему. Могу ли я использовать объект формы XML для установки не только как фона, но и объекта вида с x, y-координатами и шириной, высотой?Рисовать прямоугольник с настройками формы XML в Android
Edit: Я могу нарисовать прямоугольник:
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>
, и я хочу, чтобы применить эти настройки для моего прямоугольника. Как?
Ваш вопрос немного неясно. Не могли бы вы попытаться отредактировать его, чтобы быть более кратким в том, что вы просите? – Mutmatt