Цвет рамки кнопки Android

Я создаю Android Button, используя следующий XML.

Вывод на Preview of Design показан ниже.

Однако, когда я запускаю устройство, Samsung Duos. Это показывает совершенно другое.

Как установить границу.

<!--?xml version="1.0" encoding="utf-8"?-->
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> </shape>

Я также получаю сообщение об ошибке в XML, но он отлично работает. Ничего не отображается, когда мышь наводится на ошибку.

Может ли кто-нибудь помочь?

2 ответа

Добавьте в качестве дочернего элемента в элементе shape

<!--?xml version="1.0" encoding="utf-8"?-->
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="@android:color/transparent"> </solid></shape>


Я обычно делаю что-то подобное!

Вы можете сделать все это в одном XML, но я покажу вам длинный путь, чтобы вы могли лучше понять.

simple_button.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/button_pressed"> <item android:state_enabled="false" android:drawable="@drawable/button_disabled"> </item></item></selector>

button_pressed.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:radius="2dp"> <solid android:color="#20FF5252"> <padding android:bottom="0dp" android:left="0dp" android:right="0dp" android:top="0dp"> <size android:width="100dp" android:height="35dp"> </size></padding></solid></corners></shape>

button_disabled.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:radius="14dp"> <solid android:color="@android:color/transparent"> <padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp"> </padding></solid></corners></shape>

button_enabled.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:radius="2dp"> <solid android:color="@android:color/transparent"> <padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp"> <size android:width="260dp" android:height="50dp"> </size></padding></solid></corners></shape>

styles.xml

Использование

<button android:id="@+id/btn_simple" style="@style/Widget.Button.Simple" android:layout_width="match_parent" android:layout_height="50dp" android:layout_margin="20dp" android:text="Button">
<p>Надеюсь, это поможет!</p></button>

licensed under cc by-sa 3.0 with attribution.