Hier ist, wie es richtig zu tun.
Was Sie tun müssen, ist
1 - Form ziehbar erstellen mit Schlaganfall
2 - Erstellen Ripple ziehbar
3 - Selektor ziehbar erstellen für weniger als v21
4 - Erstellen Sie einen neuen Stil für Knopf mit
Grenze 5 - bewerben Stil auf die Schaltfläche
1 - erstellen Form mit Schlaganfall 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 - Erstellen ziehbar Ripple 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"
erforderlich ist Ripple Touch-Feedback auf die Schaltfläche haben. Die Ebene, die als Maske markiert ist, ist auf dem Bildschirm nicht sichtbar, sie dient nur zur Berührungsrückmeldung.
3 - Erstellen Wähler ziehbar für weniger als 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 - Erstellen Sie einen neuen Stil für einen Knopf mit Rand Alle Ressourcen, die die benötigt werden, um den Stil zu schaffen sind oben angegeben das ist, wie Sie Ihren Stil wie
<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 aussehen sollte - App ly Stil auf die Schaltfläche
<Button
style="@style/ButtonBorder.Accent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
, dass es ziemlich viel. Hier ist ein Beispiel, wie die Buttons jetzt aussehen.
Perfekt! Außer du hast ein paar Tippfehler: drawable/bg_btn_outline.xml @ drawbar/bg_accent_outline -> @ drawable/btn_outline – jclova
Fixed! Danke, dass du es aufgezeigt hast –