Intereting Posts
Как обнаружить отсутствие камеры в устройстве Android? А также, если устройство имеет переднюю камеру, как ее использовать? Андроид ANR в смене MediaPlayer Android Notification PendingIntent Extras null Отображать push-уведомление в поле предупреждения, когда приложение работает на переднем плане Сделайте определенную часть андроида-textview вправо API графиков для Android Загружать html-файлы из исходной папки в веб-просмотр Зарегистрируйтесь как музыкальный плеер Определите, работает ли сенсор, когда экран выключен в android Android studio adb Синтаксическая ошибка: ")" неожиданно Как решить SkImageDecoder :: Factory возвращает null Плохая производительность при непрерывном рисовании в CustomView Предупреждение о безопасности на libdvm.so отмечено при развертывании приложений для Android Медиаплеер реагирует на второй щелчок, чтобы приостановить ViewPager с фрагментами внутри PopupWindow (или DialogFragment) – ошибка не найдена для id для фрагмента

Как создать пользовательскую кнопку в Android с помощью стилей XML

Я хочу сделать такие кнопки (такие же цвета фона и текста), используя стили XML

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

Это просто для примера, я хочу написать некоторые другие тексты, например: Обо мне

Тем не менее, я использую кнопку, созданную дизайнером в Photoshop

<ImageButton android:id="@+id/imageButton5" android:contentDescription="AboutUs" android:layout_width="wrap_content" android:layout_marginTop="8dp" android:layout_height="wrap_content" android:layout_below="@+id/view_pager" android:layout_centerHorizontal="true" android:background="@drawable/aboutus" /> 

Примечание. Мне нужна такая кнопка в каждом размере и форме

Я не хочу использовать какой-либо образ в своем Android-приложении, я хочу его использовать, используя только XML

Solutions Collecting From Web of "Как создать пользовательскую кнопку в Android с помощью стилей XML"

Вы когда-нибудь пытались создать форму фона для любых кнопок?

Проверьте это ниже:

Ниже находится выделенное изображение с вашего изображения кнопки.

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

Теперь добавьте это в свой ImageButton для android: src «source», например:

 android:src="@drawable/twitter" 

Теперь просто создайте форму ImageButton, чтобы иметь черный фон шейдера.

 android:background="@drawable/button_shape" 

И button_shape – это xml-файл в ресурсе с возможностью рисования:

  <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <stroke android:width="1dp" android:color="#505050"/> <corners android:radius="7dp" /> <padding android:left="1dp" android:right="1dp" android:top="1dp" android:bottom="1dp"/> <solid android:color="#505050"/> </shape> 1  <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <stroke android:width="1dp" android:color="#505050"/> <corners android:radius="7dp" /> <padding android:left="1dp" android:right="1dp" android:top="1dp" android:bottom="1dp"/> <solid android:color="#505050"/> </shape> 1  <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <stroke android:width="1dp" android:color="#505050"/> <corners android:radius="7dp" /> <padding android:left="1dp" android:right="1dp" android:top="1dp" android:bottom="1dp"/> <solid android:color="#505050"/> </shape> 1  <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <stroke android:width="1dp" android:color="#505050"/> <corners android:radius="7dp" /> <padding android:left="1dp" android:right="1dp" android:top="1dp" android:bottom="1dp"/> <solid android:color="#505050"/> </shape> 1  <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <stroke android:width="1dp" android:color="#505050"/> <corners android:radius="7dp" /> <padding android:left="1dp" android:right="1dp" android:top="1dp" android:bottom="1dp"/> <solid android:color="#505050"/> </shape> 1  <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <stroke android:width="1dp" android:color="#505050"/> <corners android:radius="7dp" /> <padding android:left="1dp" android:right="1dp" android:top="1dp" android:bottom="1dp"/> <solid android:color="#505050"/> </shape> 

Просто попробуйте реализовать это с этим. Возможно, вам потребуется изменить значение цвета в соответствии с вашим требованием.

Дайте мне знать, если это не сработает.

Скопируйте с помощью рецепта, написанного «Adrián Santalla» на androidcookbook.com: https://www.androidcookbook.com/Recipe.seam?recipeId=3307

1. Создайте XML-файл, который представляет состояния кнопок

Создайте xml в drawable с именем «button.xml», чтобы назвать состояния кнопок:

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

Посмотрите на Styled Button, это, безусловно, поможет вам. Есть много примеров, пожалуйста, найдите в ИНТЕРНЕТЕ.

например: стиль

 <style name="Widget.Button" parent="android:Widget"> <item name="android:background">@drawable/red_dot</item> </style> 

Вы можете использовать свой селектор вместо red_dot

Красная точка:

 <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" > <solid android:color="#f00"/> <size android:width="55dip" android:height="55dip"/> </shape> 

Кнопка:

 <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="49dp" style="@style/Widget.Button" android:text="Button" /> 
 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="#ffffffff"/> <size android:width="@dimen/shape_circle_width" android:height="@dimen/shape_circle_height"/> </shape> 

1.add это в вашем

2.set в качестве фона для вашей кнопки