Как установить радиус закругленного угла цвета, который можно нарисовать с помощью xml?
на веб-сайте android есть раздел о цветных чертежах. Определение этих чертежей в xml выглядит следующим образом:
<resources>
<drawable name="solid_red">#f00</drawable>
<drawable name="solid_blue">#0000ff</drawable>
<drawable name="solid_green">#f0f0</drawable>
</resources>
в Java api, они имеют thr следующий метод для определения закругленных углов:
setCornerRadius(float radius)
есть ли способ установить закругленные углы в xml?
2 ответа:
использовать
<shape>
тег для создания drawable в 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>
ответ мбаирда работает нормально. Просто имейте в виду, что в Android, похоже, есть ошибка (по крайней мере, 2.1), что если вы установите радиус любого отдельного угла в 0, он заставит все углы равняться 0 (по крайней мере, это относится к единицам "dp"; я не пробовал это с любыми другими единицами).
Мне нужна была форма, где верхние углы были закруглены, а нижние углы были квадратными. Я добился этого, установив углы, которые я хотел быть квадратным, на значение чуть больше 0: 0.1 dp. Это все еще визуализируется как квадратные углы, но это не заставляет другие углы быть радиусом 0.