Как удалить дополнительную прописку или маржу в кнопке дизайна материала?

Я пытаюсь создать кнопку, которая прикреплена к TextView над кнопкой, как показано на рисунке ниже.

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

Вышеприведенный снимок экрана взят из примечания 4, а версия ОС – 5.0.1.

Ниже приведен код, используемый для достижения пользовательского интерфейса.

макет / xyz.xml

<Button android:layout_width="250dp" android:layout_height="50dp" android:theme="@style/myButton" android:text="Cancel"/> 

Значения-V21 / style.xml

  <style name="myButton" parent="@style/Base.Widget.AppCompat.Button"> <item name="android:colorButtonNormal">#3578A9</item> <item name="android:inset">0dp</item> </style> 

Но если я запустил тот же код в Nexus4 OS verison 5.1.1, кнопка берет маржу для всех сторон, а скриншот выглядит ниже.

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

Если я удалю «андроид: тема» и предоставил «андроид: фон», пользовательский интерфейс будет выглядеть как первое изображение. Но это не даст эффект пульсации. Итак, как достичь UI как первого изображения с эффектом пульсации.

Шаг 1. Поместите приведенный ниже код в styles.xml.

  <style name="myColoredButton"> <item name="android:textColor">#FF3E96</item> <item name="android:padding">0dp</item> <item name="android:minWidth">88dp</item> <item name="android:minHeight">36dp</item> <item name="android:elevation">1dp</item> <item name="android:translationZ">1dp</item> <item name="android:background">#FF0000</item> </style> 

Здесь вы можете изменить textColor (я использовал # FF3E96 выше) и цвет фона (я использовал # FF0000) для вашей кнопки. Вы также можете переопределить значения textColor из соответствующего макета xml с помощью android:colorButtonNormal .

Шаг 2. Создайте новый XML-файл в папке drawables и добавьте следующий код: Я назвал свой XML-файл как primary.xml

 <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/colorPrimary"> <item> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="1dp" /> <solid android:color="#8B8386" /> </shape> </item> </ripple> 

Шаг 3: Используйте стиль и вытащите его в своей кнопке следующим образом.

  <Button style="@style/myColoredButton" android:layout_width="250dp" android:layout_height="50dp" android:text="Cancel" android:gravity="center" android:background="@drawable/primary_round" android:colorButtonNormal="#3578A9" /> 

Надеюсь, он решает вашу проблему.

Intereting Posts
Как мне получить уведомление, когда пользователь нажимает кнопку «Центр» на моем «Расположение» в Google Maps v2 для Android API Android, что делает атрибут clipToPadding? Css-fix для переключения экрана вверх и вниз при прокрутке на Android-устройствах Начало разработки приложений для телефонов Как использовать layoutinflator для добавления просмотров во время выполнения? Разработка телефонов Android – услуги UDP Получение содержимого тела запроса с использованием метода POST-метода Retrofit 2.0 Как перенести деятельность на Android в андроид? MediaStore – Uri для запроса всех типов файлов (носителей и носителей) Символ Unicode ("\ u232B") не отображается на кнопке Android – Принудительная локаль, сбрасываемая при изменении ориентации Реализация Parcelable Class, требующая контекста Как обрабатывать событие click в Listview в android? Как изменить цвет мягкой клавиатуры «Enter» / «Next» на леденец Android: создание полноэкранного приложения