Вот как сделать это правильно.
Что вам нужно сделать, это
1 - Создание формы вытяжки с инсультом
2 - Создание пульсации вытяжка
3 - Создание селектора вытяжки для менее v21
4 - Создайте новый стиль для кнопки с граница
5 - Применить стиль на кнопку
1 - Создание формы с инсультом btn_outline.xml
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="2dp"
android:color="@color/colorAccent">
</stroke>
<solid android:color="@color/colorTransparent"/>
<corners
android:radius="5dp">
</corners>
</shape>
2 - Создание пульсации вытяжки drawable-v21/bg_btn_outline.xml
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/colorOverlay">
<item>
<shape>
<stroke
android:width="2dp"
android:color="@color/colorAccent"/>
<corners android:radius="5dp"/>
</shape>
</item>
<item android:id="@android:id/mask">
<shape>
<stroke
android:width="2dp"
android:color="@color/colorAccent"/>
<solid android:color="@android:color/white"/>
<corners android:radius="5dp"/>
</shape>
</item>
</ripple>
android:id="@android:id/mask"
требуется иметь мультипликационный отклик на прикосновение к кнопке. Слой, который отмечен как маска, не отображается на экране, его просто для обратной связи касания.
3 - Создание селектора вытяжке менее чем v21 drawable/bg_btn_outline.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/btn_outline" android:state_pressed="true">
<shape android:shape="rectangle">
<solid android:color="@color/colorOverlay"/>
</shape>
</item>
<item android:drawable="@drawable/btn_outline" android:state_focused="true">
<shape android:shape="rectangle">
<solid android:color="@color/colorOverlay"/>
</shape>
</item>
<item android:drawable="@drawable/btn_outline"/>
</selector>
4 - Создайте новый стиль для кнопки с границей Всех ресурсов, которые необходимы для создания стиля приведено выше , вот как ваш стиль должен выглядеть
<style name="ButtonBorder" parent="Widget.AppCompat.Button.Colored"/>
<style name="ButtonBorder.Accent">
<item name="android:background">@drawable/bg_btn_outline</item>
<item name="android:textColor">@color/colorAccent</item>
<item name="android:textAllCaps">false</item>
<item name="android:textSize">16sp</item>
<item name="android:singleLine">true</item>
</style>
4 - App LY стиль на кнопку
<Button
style="@style/ButtonBorder.Accent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
Это довольно много его. Вот пример того, как теперь выглядят кнопки.
Отлично! Кроме того, у вас есть опечатки: drawable/bg_btn_outline.xml @ drawable/bg_accent_outline -> @ drawable/btn_outline – jclova
Исправлено! Спасибо, что указали это –