Как я устанавливаю радиус закругленного угла цветного drawable использования xml?

На веб-сайте андроида есть раздел о цвете drawables. Определение этих drawables в xml похоже на это:


    #f00
    #0000ff
    #f0f0

В явском API у них есть thr в соответствии с методом, чтобы определить закругленные углы:

setCornerRadius(float radius)

Есть ли способ установить закругленные углы в xml?

99
задан Jay Askren 23 January 2010 в 13:07
поделиться

2 ответа

Используйте тег

, чтобы создать нанесенную на XML с закругленными углами. (Вы можете сделать другие вещи с тегом формы, как и определите градиент цвета).

Вот копия файла XML, который я использую в одном из моих приложений для создания нанесенного на белом фоне, черной границе и округлые углы:

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#ffffffff"/>    

    <stroke android:width="3dp"
            android:color="#ff000000" />

    <padding android:left="1dp"
             android:top="1dp"
             android:right="1dp"
             android:bottom="1dp" /> 

    <corners android:bottomRightRadius="7dp"
             android:bottomLeftRadius="7dp"
             android:topLeftRadius="7dp"
             android:topRightRadius="7dp" /> 
</shape>
293
ответ дан 24 November 2019 в 04:56
поделиться

ответ mbaird работает нормально. Только имейте в виду, что в Android (по крайней мере, в версии 2.1), похоже, есть ошибка: если вы установите радиус любого отдельного угла равным 0, то все углы будут равны 0 (по крайней мере, это касается единиц измерения "dp"; я не пробовал с другими единицами).

Мне нужна была фигура, у которой верхние углы были бы закруглены, а нижние - квадратные. Я добился этого, установив для углов, которые я хотел сделать квадратными, значение чуть больше 0: 0.1dp. Это все равно отображает квадратные углы, но не заставляет другие углы иметь радиус 0.

18
ответ дан 24 November 2019 в 04:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: