Button. Corner Radius Свойство
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает радиус скругления угла для кнопки в аппаратно независимых единицах.
public int CornerRadius
member this.CornerRadius : int with get, set
Значение свойства
Радиус угла для кнопки в независимых от устройства единицах.
Drawable. Фигуры и градиенты
Фигуры являются подмножеством Drawable-ресурсов.
Данный вид ресурсов на основе класса ShapeDrawable позволяет описывать простые геометрические фигуры, указывая их размеры, фон и контур с помощью тега .
Можно создавать ресурсы фигур на основе стандартных фигур вроде прямоугольника, эллипса, линии. Для использования ресурсов фигур нужно создать в подкаталоге res/drawable XML-файл, в котором будет присутствовать тег , который в свою очередь может содержать дочерние элементы , , , , , .
Имя файла без расширения будет служить идентификатором (ID): R.drawable.filename в Java-коде и @[package:]drawable/filename в XML-файлах.
Элементы фигуры
- xmlns:android — обязательный атрибут со строкой «http://schemas.android.com/apk/res/android»
- android:shape — задаёт тип фигуры: rectangle (прямоугольник, заполняющий элемент, является фигурой по умолчанию), oval (овал), line (линия, требуется также наличие элемента для задания ширины линии), ring (окружность, для данной фигуры можно использовать атрибуты android:innerRadius, android:innerRadiusRatio, android:thickness, android:thicknessRatio, android:useLevel)
- — создаёт закругленные углы для фигуры. Только для прямоугольника. Возможные атрибуты: android:radius, android:topLeftRadius, android:topRightRadius, android:bottomLeftRadius, android:bottomRightRadius
- — задаёт градиентную заливку для фигуры. Возможные атрибуты: android:angle, android:centerX, android:centerY, android:centerColor, android:endColor, android:gradientRadius, android:startColor, android:type, android:useLevel
- — отступы. Возможные атрибуты: android:left, android:top, android:right, android:bottom
- — размеры фигуры. Возможные атрибуты: android:height, android:width
- — сплошной цвет для фигуры. Возможные атрибуты: android:color
- — контур фигуры. Возможные атрибуты: android:width, android:color, android:dashGap (расстояние между черточками), android:dashWidth (длина пунктирной черточки)
rectangle (Прямоугольник)

shape_rect.xml — Атрибут android:shape здесь необязателен: rectangle — это значение по умолчанию.
Пример с градиентным прямоугольником в качестве разделителя
Создадим файл separator.xml:
В разметке приложения добавим код:
У первого разделителя ширина 1dp, у второго — 3dp. Получили красивую полоску.

У прямоугольников можно скруглить углы при помощи тега corners

Можно закруглить углы по отдельности:

rectangle_rounded_some.xml
oval (Эллипс)
shape_oval.xml

Другой вариант с пунктиром:

ring (Кольцо)

shape_ring.xml — Для кольца имеются дополнительные атрибуты:
innerRadius Внутренний радиус innerRadiusRatio Отношение между внешним и внутренним радиусами. По умолчанию равно 3 thickness Толщина кольца (т.е. разница между внешним и внутренним радиусами) thicknessRatio Отношение ширины кольца к его толщине. По умолчанию равно 9
line (Горизонтальная линия)

shape_line.xml — Линия может быть только горизонтальной
Градиенты: gradient и GradientDrawable
Тег gradient (класс GradientDrawable) позволяет создавать сложные градиентные заливки. Каждый градиент описывает плавный переход между двумя или тремя цветами с помощью линейного/радиального алгоритма или же используя метод развертки.
Тег gradient внутри тега shape. Основные атрибуты: type, startColor (обязателен), endColor (обязателен) и middleColor (необязателен). Также иногда оказывается полезным атрибут centerColor.
Используя атрибут type, вы можете описать свой градиент:
linear

gradient_linear.xml
- android:type=»linear» можно опустить, он так и есть по умолчанию. Отображает прямой переход от цвета startColor к цвету endColor под углом, заданным в атрибуте angle.
- Атрибут android:angle используется только линейным градиентом и должен быть кратным значению 45.
Дополнительный материал: Android Dev Tip #3 — помните о прозрачности, который может привести к другому результату.
Также можно задействовать атрибуты centerX и centerY.
radial

- android:gradientRadius является обязательным для радиального градиента, а у остальных игнорируется. Рисует круговой градиент, начиная с цвета startColor и заканчивая endColor, от внешнего края фигуры до её центра (ещё есть centerColor). Атрибут gradientRadius указывает радиус градиентного перехода в пикселях. Поскольку радиус градиента указывается в пикселях, он не будет автоматически масштабироваться при разной плотности точек на экране. Чтобы минимизировать эффект ступенчатости, необходимо указывать разные значения радиуса для дисплеев с разным разрешением.
- Имеются также необязательные атрибуты android:centerX и android:centerY, в которых можно задавать относительное (0.0 – 1.0), описывающие сдвиг центральной точки градиента.
gradient_radial.xml
Интересный эффект получается при использовании множества радиальных градиентов.

sweep
Рисует развёрточный градиент с помощью перехода между цветами startColor и endColor вдоль внешнего края фигуры (как правило, кольца).

Можно использовать атрибуты android:centerX и android:centerY.
gradient_sweep.xml
gradient_circle.xml

Попробуйте также такой вариант.
А почему бы не повращать?
Примеры с shape
Закругляем уголки у компонентов
Создадим отдельный файл res/drawable/roundrect.xml и с его помощью скруглим уголки у LinearLayout, ImageView, TextView, EditText:
В разметке активности пишем следующее:

Овальный кабинет
В Белом доме есть Овальный кабинет. Если вам придётся писать приложение для администрации президента США, то все элементы нужно сделать овальными. Создадим файл res/drawable/oval.xml:
Заменим в предыдущем примере android:background=»@drawable/roundrect» на android:background=»@drawable/oval».
Получим овальный интерфейс:
Советы Android. Закругленные края экрана Android смартфона или планшета можно получить с помощью приложения Cornerfly
Многие пользователи смартфонов Xiaomi с операционной системой MIUI на борту, сменив их на устройства других производителей скучают по одной достаточно любопытной её возможности, которая заключается в том, что изображение на дисплее может иметь закругленные углы.

Дисплей с закругленными углами, согласно последним слухам, получит новый флагман LG – смартфон LG G6. Смотрится это достаточно симпатично и при желании вы можете получить точно такой же эффект на любом другом смартфоне или планшете с операционной системой Android 4.0 и выше на борту.
Сделать это можно с помощью приложения Cornerfly, которое на днях появилось в Google Play Маркет.
Как сделать закруглить углы экрана Android смартфона или планшета
Для того, чтобы «округлить» углы дисплея вашего устройства вам нужно всего лишь установить и настроить это приложение.
Скачать Cornerfly вы можете совершенно бесплатно в Google Play Маркет по этому адресу.
При первом запуске приложения предоставьте ему все права, которые оно запросит, установив в положение «Вкл» соответствующие переключатели (скриншот слева):

После этого вы попадете в меню основных настроек системы вашего устройства, в раздел «Спец. Возможности», где вам нужно будет включить службу «Cornerfly».
После этого вы заметите, что углы вашего дисплея округлились. Нажмите на круглую кнопку в нижнем правом угу экрана с изображением галочки и после краткого вступительного тура, нажав пару раз на кнопку «Next» (или один раз на «Skip») вы попадете в меню настроек приложения.

Здесь вы можете:
• Включить отображение карточки Cornerfly в меню уведомлений системы (пункт «Notification») с помощью которой вы можете управлять её основными возможностями (Скругление краев статусбара, скругление краев панели уведомлений и отключение приложения).
• Задать радиус скругления углов («Size») с помощью ползунка.
• Включить или выключить скругление каждого из углов дисплея по отдельности: переключатели «Top-Left», «Top-Right», «Bottom-Left» и «Bottom-Right».
В самом верху, на панели инструментов Cornerfly вы найдете переключатель, позвояляющий включать и выключать режим скругления углов экрана.
Как видите, всё очень просто. Приложение распространяется бесплатно, но в бесплатной версии вы будете лицезреть в меню его настроек рекламу, и не сможете задать радиус скругления улов ниже или выше среднего значения. Избавиться от этого вы сможете заплатив его разработчику небольшое вознаграждение в пределах $0.99.
Похожие материалы:
- cornerfly
- дисплей
- советы и подсказки
Как убрать скругленные углы у кнопок в Android Studio?
Android Studio по умолчанию делает скругленные края у кнопки. Не могу понять как это скругление убрать.
- Вопрос задан более двух лет назад
- 1366 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 1

Вариант скругления углов Button в Android Studio с помощью интерфейса:
Переходим к xml файлу где находится кнопка, нажимаем на кнопку в которой хотим убрать скругление углов, далее справа сверху, в углу переходим во вкладку Desing. Ниже ищем вкладку Common Attributes, затем находим свойство cornerRadius и выставляем интересующее нас значение. К примеру, если мы поставим значение 0dp, мы полностью уберем скругление углов у кнопки, чем выше будет значение, тем больше будет скругление.

Вариант через xml code: Вместо вкладки Design выбираем вкладку Code или Split

После чего, в самом xml файле, создаем или выбираем какой кнопке необходимо убрать скругление. Далее добавляем параметр app:cornerRadius=»0dp»
До:
После: 
Ответ написан более года назад
Комментировать
Нравится Комментировать