У меня было это рисовать, чтобы иметь в качестве фона скругленный прямоугольник:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/white" />
<stroke android:width="1dp" android:color="@color/light_gray" />
<padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" />
<corners android:radius="6dp" />
</shape>
Это работает нормально, как и ожидалось.
Теперь я хочу изменить это только на верхние углы, поэтому я изменил это на это:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/white" />
<stroke android:width="1dp" android:color="@color/light_gray" />
<padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" />
<corners android:topLeftRadius="6dp" android:topRightRadius="6dp"
android:bottomLeftRadius="0dp" android:bottomRightRadius="0dp"/>
</shape>
Но теперь ни один из углов не закруглен, и я получаю простой прямоугольник. Что мне здесь не хватает?
android
drawable
rounded-corners
Алекс Г
источник
источник
Ответы:
Попробуйте дать эти значения:
Обратите внимание, что я изменился
0dp
на0.1dp
.РЕДАКТИРОВАТЬ: Смотрите Aleks G комментарий ниже для более чистой версии
источник
<corners android:radius="1dp" android:topLeftRadius="6dp" android:topRightRadius="6dp" android:bottomLeftRadius="0dp" android:bottomRightRadius="0dp"/>
- это дает идеально квадратные нижние углы, даже без намека на округление. Однако ваше решение в значительной степени работает.android:radius="1dp"
Попробуйте сделать что-то вроде этого:
Кажется, не подходит для установки другого радиуса угла прямоугольника. Таким образом, вы можете использовать этот взломать.
источник
В моем случае код ниже
источник
Основываясь на ответе Бусили , вы можете сделать так, чтобы у вас был
drawable
только один не закругленный угол (в этом примере слева вверху):Обратите внимание , что выше
drawable
это не правильно отображается в предварительном просмотре Android - студия (2.0.0p7). Для предварительного просмотра создайте другой вид и используйте его какandroid:background="@drawable/..."
.источник
Я попробовал ваш код и получил кнопку с закругленными углами. Я дал цвета, как
@ffffff
и удар, который я дал#C0C0C0
.пытаться
источник
Вам может понадобиться прочитать это https://developer.android.com/guide/topics/resources/drawable-resource.html#Shape
и ниже есть примечание.
Примечание Каждый угол должен (изначально) иметь радиус угла больше 1, иначе углы не закругляются. Если вы хотите, чтобы определенные углы не были скруглены, обходной путь должен использовать android: radius, чтобы установить радиус угла по умолчанию больше 1, но затем переопределить каждый угол значениями, которые вы действительно хотите, обеспечивая ноль ("0dp" ), где вы не хотите закругленные углы.
источник
Создайте roung_top_corners.xml на drawable и скопируйте приведенный ниже код
источник