2015-11-21 38 views
5

Sto facendo pulsante Android, utilizzando il seguente XML.Colore bordo pulsante Android

L'output su Anteprima del disegno, mostra come di seguito. enter image description here

Tuttavia quando corro su Dispositivo, Samsung Duos. Mostra totalmente diverso. enter image description here

Come posso impostare il bordo.

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

    <stroke 
     android:width="3dp" 
     android:color="#d78d79" /> 

</shape> 

Ho anche ricevuto un errore in XML, ma funziona correttamente. Nulla mostrato quando topo il mouse su errore.

enter image description here

Può uno di aiuto?

+0

Mostra contenuto '@ drawable/button_border' –

risposta

9

Aggiungi <solid android:color="@android:color/transparent" /> come un elemento secondario nel vostro elemento 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" /> 
    <stroke 
     android:width="3dp" 
     android:color="#d78d79" /> 

</shape> 
+0

Perché la differenza nella progettazione e nel dispositivo? –

+0

È 'Samsung' ... personalizza i temi Android ... Non lo so. Si prega di verificare se l'impostazione su trasparente aiuterà –

+0

È possibile modificare XML? Come se io usassi @android: colorare due volte, quindi ricevere errore. –

6

faccio di solito qualcosa di simile!

Si può fare tutto questo in un XML, ma mostrerò la lunga strada per farti capire meglio.

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 
     android:state_enabled="true" 
     android:drawable="@drawable/button_enabled"/> 

</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" /> 
    <stroke 
     android:width="1dp" 
     android:color="#1DE9B6" /> 
</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" 
     /> 
    <stroke 
     android:width="8dp" 
     android:color="#1DE9B6" 
     /> 
</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" 
    /> 

    <stroke 
     android:width="1dp" 
     android:color="#1DE9B6" 
    /> 
</shape> 

styles.xml

<style name="Widget.Button.Simple" parent="android:Widget"> 
     <item name="android:gravity">center_vertical|center_horizontal</item> 
     <item name="android:background">@drawable/simple_button</item> 
     <item name="android:textAppearance">?android:textAppearanceMedium</item> 
     <item name="android:textColor">#1DE9B6</item> 
     <item name="android:textStyle">bold</item> 

    </style> 

Uso

<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" /> 

Spero che aiuta!

+1

Buon approccio! Voto positivo :) –