Андроид - круглый прямоугольник для макетов

в моем приложении я собираюсь использовать много макетов "границ", которые представляют собой простой округленный прямоугольник. Чтобы проверить, как это будет выглядеть, я создал файл .png с прозрачным фоном:

enter image description here

Я просто установил изображение в качестве фона макета. Проблема в том, что мне нужны разные пропорции для других макетов, и это было бы пустой тратой времени для создания таких изображений в Photoshop для всех моих макетов.

Вопросы: как я могу сделать то же самое с API-интерфейсом Android (возможно, форма XML), но разрешить растягивать прямоугольник в любом измерении и по-прежнему оставаться острым?

Ответ 1

Вы можете использовать drawable

У вас есть bkg.xml в папке с рисунком

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle">
    <solid android:color="#FFFFFF"/>
    <stroke
        android:width="3dp"
        android:color="#0FECFF"/>
    <padding
        android:bottom="5dp"
        android:left="5dp"
        android:right="5dp"
        android:top="5dp"/>
    <corners
        android:bottomLeftRadius="7dp"
        android:bottomRightRadius="7dp"
        android:topLeftRadius="7dp"
        android:topRightRadius="7dp"/>
</shape>

Затем установите фон

  android:background="@drawable/bkg" //to required view

Снимок экрана графического редактора при заданном рисовании фона в текстовое окно.

enter image description here

Ответ 2

A Форма, пригодная для рисования, должна это сделать. Например:

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="10dp" />
    <solid android:color="@android:color/transparent" />
    <stroke android:width="2dp" android:color="#0000ff" />
</shape>