Intereting Posts
Вложенное Parcelling: RuntimeException – Unmarshalling неизвестный тип кода 3211319 при смещении 440 Как передать функцию в качестве параметра другой функции в android? Расположение Android, кнопки настройки имеют одинаковый размер Facebook Android SDK 3.0 всегда возвращает OPENING при входе в систему Маркер Android между кнопками в макете сетки Mediacodec против медиапланера и медиарекордера Как реализовать экран ввода из документов Google? Не удается загрузить веб-страницу с помощью WebView на Android Android FragmentTabHost: Исключение, возникающее во время рендеринга: нет закладки, известной для тега null AdapterView.OnItemClickListener () не работает в моем customAdapter Правильно ли это использование фрагментов Android и NavigationDrawer? Что такое целочисленное значение, которое дает приоритету широковещательного приемника? Как установить цвет фона WebView на шестнадцатеричное значение? Кордова-плагин-контакты сбой приложения Как сделать Android Live Wallpaper с помощью LibGDx?

Создать кнопку с закругленными углами в android

Введите описание изображения здесь

Я пытаюсь создать кнопку, которая выглядит как на изображении выше. Первоначально моя идея состояла в том, чтобы создать патч 9 и установить его как фон кнопки. Но поскольку это простая кнопка, я думаю, что мы можем каким-то образом сделать это без использования каких-либо изображений.

Цвет фона кнопки – # 0c0c0c Цвет рамки – # 1a1a1a Цвет текста – #cccccc

Я нашел аналогичный вопрос о SO, но это создает градиент –
Android – граница для кнопки

В руководстве для разработчиков Android есть подробное руководство по этому вопросу: Shipe Drawbables .

Вы также можете просто удалить элемент gradient из предоставленной вами ссылки:

 <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:radius="3dp" /> <stroke android:width="5px" android:color="#1a1a1a" /> </shape> 
  <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/textView1" android:layout_alignLeft="@+id/textView1" android:layout_marginBottom="56dp" android:text="Button" android:textColor="#FF0F13" android:background="@drawable/bbkg"/>//create bbkg.xml in drawable folder 

Bbkg.xml // кнопка фона

  <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/pressed" /> <item android:state_focused="false" android:drawable="@drawable/normal" /> </selector> 

Normal.xml // кнопка фон нормальное состояние

  <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#10EB0A"/> <stroke android:width="3dp" android:color="#0FECFF" /> <padding android:left="5dp" android:top="5dp" android:right="5dp" android:bottom="5dp"/> <corners android:bottomRightRadius="7dp" android:bottomLeftRadius="7dp" android:topLeftRadius="7dp" android:topRightRadius="7dp"/> </shape> 

Нажато.xml // кнопка фонового нажатого состояния

 <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#FF1A47"/> <stroke android:width="3dp" android:color="#0FECFF"/> <corners android:bottomRightRadius="7dp" android:bottomLeftRadius="7dp" android:topLeftRadius="7dp" android:topRightRadius="7dp"/> </shape> 

Если вы хотите что-то вроде этого

Предварительный просмотр кнопки

Вот код.

1. Создайте xml-файл в своей папке, подобной mybutton.xml, и вставьте следующую разметку:

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_pressed="true" > <shape android:shape="rectangle" > <corners android:radius="3dip" /> <stroke android:width="1dip" android:color="#5e7974" /> <gradient android:angle="-90" android:startColor="#345953" android:endColor="#689a92" /> </shape> </item> <item android:state_focused="true"> <shape android:shape="rectangle" > <corners android:radius="3dip" /> <stroke android:width="1dip" android:color="#5e7974" /> <solid android:color="#58857e"/> </shape> </item> <item > <shape android:shape="rectangle" > <corners android:radius="3dip" /> <stroke android:width="1dip" android:color="#5e7974" /> <gradient android:angle="-90" android:startColor="#8dbab3" android:endColor="#58857e" /> </shape> </item> </selector> 

2. Теперь используйте эту возможность для фона вашего представления. Если вид кнопки, то что-то вроде этого:

 <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dp" android:textColor="#ffffff" android:background="@drawable/mybutton" android:text="Buttons" />