- How to Android button rounded corners | Radius, ripple, corners, design?
- Build an Android app with rounded buttons designs:
- Step 1. Create a new project “Build Your First Android App in Kotlin“
- Step 2. Create a new XML file and add the below code.
- Step 3. Add following code in “activity_main.xml“
- Step 7. Now Run the application, in an emulator or on your Android device
- Output screenshot Android corner button example:
- Download source code of button design from an Activity in Kotlin
- Q: What is an android material button and how to set the corners (radius) of it?
- Q: How to create a circle button in android?
- Q: How to create Android button rounded corners programmatically?
- Drawable. Фигуры и градиенты
- Shape и ShapeDrawable
- Элементы фигуры
- rectangle (Прямоугольник)
- oval (Эллипс)
- ring (Кольцо)
- line (Горизонтальная линия)
- Градиенты: gradient и GradientDrawable
- linear
- radial
- sweep
- Примеры с shape
- Закругляем уголки у компонентов
- Овальный кабинет
- Material button. Как сделать кнопки с радиусом и фоном.
- Закругленная кнопка в Android
- 9 ответов
How to Android button rounded corners | Radius, ripple, corners, design?
Do you want to make the corners of a button round in Android? In this tutorial, you will learn an easy way to achieve this in Android.
To create an Android button rounded corners have to use a new XML file. This new XML file will be inside a drawable folder. To change the corners of all sides of the button need only one attribute in the drawable XML file.
To change one or two or three corners, you have to use the following attributes:-
Build an Android app with rounded buttons designs:
Here is step by step creating a rounded corner button with background color in android.
Step 1. Create a new project “Build Your First Android App in Kotlin“
Step 2. Create a new XML file and add the below code.
Filename: rounded_button.xml
Location: res/drawable/rounded_button.xml
Step 3. Add following code in “activity_main.xml“
Adding a Button in UI.
Step 7. Now Run the application, in an emulator or on your Android device
Output screenshot Android corner button example:
Download source code of button design from an Activity in Kotlin
Q: What is an android material button and how to set the corners (radius) of it?
Answer: Material Button is a customizable button component with updated visual styles
How to Use
Q: How to create a circle button in android?
Answer: Same as the above example, use XML drawable file:
Save the following contents as round_button.xml in drawable folder.
Android Material Effect: Although FloatingActionButton is a better option, If you want to do it using XML selector, create a folder drawable-v21 in res and save another round_button.xml there with the following XML.
And set it as background of Button in xml like this:
Important:
- To show all state: -enabled, disabled, highlighted, etc, you have to use selector as described here.
- You’ve to keep both files in order to make the drawable backward-compatible. Otherwise, you’ll face weird exceptions in the previous android version
Source: https://stackoverflow.com/questions/9884202/custom-circle-button
Q: How to create Android button rounded corners programmatically?
Answer: Here code for how to create GradientDrawable shape programmatically.
And change the radius for all corners of the button.
or Change the radius for specific corners of the button.
And finally, use this drawable as a background as of button widget:
Note: A button design topic is UI design. in this tutorial, we used a Kotlin programming language in Main Activity and will work the same with java code.
Do comment if you have any doubts and suggestions on this tutorial.
Note: This example (Project) is developed in Android Studio 3.3.2. Tested on Android 9 ( Android-P), compile SDK version API 28: Android 9.0 (Pie)
MinSdkVersion=”25″
TargetSdkVersion=”28″
Coding in Kotlin
Degree in Computer Science and Engineer: App Developer and has multiple Programming languages experience. Enthusiasm for technology & like learning technical.
Источник
Drawable. Фигуры и градиенты
Shape и ShapeDrawable
Фигуры являются подмножеством Drawable-ресурсов.
Данный вид ресурсов на основе класса ShapeDrawable позволяет описывать простые геометрические фигуры, указывая их размеры, фон и контур с помощью тега .
Можно создавать ресурсы фигур на основе стандартных фигур вроде прямоугольника, эллипса, линии. Для использования ресурсов фигур нужно создать в подкаталоге res/drawable XML-файл, в котором будет присутствовать тег , который в свою очередь может содержать дочерние элементы , ,
Имя файла без расширения будет служить идентификатором (ID): R.drawable.filename в Java-коде и @[package:]drawable/filename в XML-файлах.
Элементы фигуры
— отступы. Возможные атрибуты: android:left, android:top, android:right, android:bottom
rectangle (Прямоугольник)
shape_rect.xml — Атрибут android:shape здесь необязателен: rectangle — это значение по умолчанию.
Пример с градиентным прямоугольником в качестве разделителя
Создадим файл separator.xml:
В разметке приложения добавим код:
У первого разделителя ширина 1dp, у второго — 3dp. Получили красивую полоску.
У прямоугольников можно скруглить углы при помощи тега corners
Можно закруглить углы по отдельности:
oval (Эллипс)
Другой вариант с пунктиром:
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
- android:type=»linear» можно опустить, он так и есть по умолчанию. Отображает прямой переход от цвета startColor к цвету endColor под углом, заданным в атрибуте angle.
- Атрибут android:angle используется только линейным градиентом и должен быть кратным значению 45.
Дополнительный материал: Android Dev Tip #3 — помните о прозрачности, который может привести к другому результату.
Также можно задействовать атрибуты centerX и centerY.
radial
Интересный эффект получается при использовании множества радиальных градиентов.
sweep
Рисует развёрточный градиент с помощью перехода между цветами startColor и endColor вдоль внешнего края фигуры (как правило, кольца).
Можно использовать атрибуты android:centerX и android:centerY.
Попробуйте также такой вариант.
А почему бы не повращать?
Примеры с shape
Закругляем уголки у компонентов
Создадим отдельный файл res/drawable/roundrect.xml и с его помощью скруглим уголки у LinearLayout, ImageView, TextView, EditText:
В разметке активности пишем следующее:
Овальный кабинет
В Белом доме есть Овальный кабинет. Если вам придётся писать приложение для администрации президента США, то все элементы нужно сделать овальными. Создадим файл res/drawable/oval.xml:
Заменим в предыдущем примере android:background=»@drawable/roundrect» на android:background=»@drawable/oval».
Источник
Material button. Как сделать кнопки с радиусом и фоном.
Мне очень нравятся красивые закругленные кнопки из material.
Но, к сожалению, вечно у меня с ними проблемы. Всё выглядит вроде бы просто:
Не забудьте указать зависимость «com.google.android.material:material:1.2.0»
Но, внезапно, с таким кодом красивая кнопка становится с прямыми углами и никакая магия не помогает сделать радиус. При этом, если убрать строчку background, то углы возвращаются, но кнопка становится серой. Да и cornerRadius не работает. Хоть 70dp поставь, а никак не реагирует. Мои решения:
- Заходим в стили и находим AppTheme. Для material надо указывать parent что-то от MaterialComponents. Я указала style name=»AppTheme» parent=»Theme.MaterialComponents.Light.NoActionBar». В xml заменяем слово background на backgroundTint. Теперь app:cornerRadius=»70dp» в xml сработает.
- Если вы хотите поддерживать приложения ниже Android 5.0 то студия будет ругаться на строчку android:backgroundTint. Можно просто поднять minSdk до 21, но я не ищу простых путей (чувствую, что я ещё пожалею об этом). Идём в папку drawable и создаём файл с удобным для вас названием. Копируем туда код:
Возвращаемся в xml, где описывали кнопку. backgroundTint не удаляем, чтобы у нас остался нужный нам цвет. Вставляем android:background=»@drawable/material_button», где material_button → название вашего файла, который создавали в drawable. Готово. Вы идеальны.
Кстати, вместо android:radius можете установить радиус только для одного конкретного угла. Или для нескольких. Просто напишите второй параметр под первым.
Источник
Закругленная кнопка в Android
Я хочу создать округлые кнопки в программе Android. Я посмотрел на Как создать EditText с закругленными углами?
чего я хочу добиться-это:
- Кнопки С Закругленным Краем
- изменить фон кнопки / внешний вид в разных состояниях (например, Onclick, фокус)
- используйте мой собственный PNG для фона и не создавайте фигуру.
9 ответов
вы можете сделать кнопку с закругленным углом, не прибегая к ImageView.
ресурс селектора фона, button_background.xml :
для каждого государства, катры ресурсов, например, button_press.XML-код:
Примечание corners атрибут, это дает вам закругленные углы!
затем установите фон drawable на кнопку:
EDIT (9/2018): тот же метод можно использовать для создания круглой кнопки. Круг-это действительно просто квадратная кнопка с размером радиуса, установленным на 1/2 стороны квадрата
кроме того, в примере выше stroke и gradient не являются необходимыми элементами, они просто примеры и способы, которые вы сможете увидеть форму закругленного угла
Если вам нужна закругленная кнопка в Android, то создайте XML-файл » RoundShapeBtn.xml » как drawable.
добавить в код кнопки:
создать xml-файл в папке drawable в android, как:
теперь этот xml-файл в качестве фона кнопок.
рекомендуется Google что вы не имитируете элементы пользовательского интерфейса с других платформ. Я бы не стал помещать округлые кнопки стиля iOS в приложение для Android.
расширения ImageView вот так:
и примените к нему свой обычный фоновый ресурс, и он должен быть обрезан с закругленными углами.
Это можно сделать с помощью атрибута углу. Посмотрите на ниже xml.
гораздо лучше поместить состояния и формы кнопок в 1 XML-файл селектора. Это должно сделать ваше приложение работать быстрее / лучше. Попробуйте это (любезно предоставлено введение в разработку приложений для Android). Не спамить здесь просто показываю, что это не мой код.
С.-конструкции П. совет: градиенты и скругленные прямоугольники лучше всего использовать, когда вы вряд ли можете сказать, что они есть-используйте с умом.
закругленные кнопки можно создавать с помощью формы кольца drawable Также, см. http://www.zoftino.com/android-shape-drawable-examples
создать Катры ресурсов с именем btnOval—>затем мимо кода ;
Источник