2016-01-25 7 views
5

Sto provando a creare un pulsante che è collegato a TextView sopra il pulsante come mostrato nell'immagine qui sotto.Come rimuovere ulteriore imbottitura o margine nel pulsante di progettazione del materiale?

enter image description here

L'immagine qui sopra è tratto dalla nota 4 e la versione del sistema operativo è 5.0.1.

Di seguito viene utilizzato il codice per raggiungere l'interfaccia utente.

layout/XYZ.XML

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

valori-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> 

Ma se corro lo stesso codice in Nexus4 OS verison 5.1.1, il pulsante è tenuto il margine per tutti e 4 i lati e lo screenshot sembra di seguito.

enter image description here

Se rimuovo il "Android: tema" e fornire la "android: sfondo", l'interfaccia utente si presenta come la prima immagine. Ma non darà l'effetto a catena. Quindi, come ottenere l'interfaccia utente come prima immagine con l'effetto a catena.

+0

È possibile assegnare un margine a Button in ur xyz.xml se si desidera Button sotto TextView senza spazi. –

+0

Questo problema è dovuto alle diverse dimensioni dello schermo che si sta testando @sachi –

+0

@ChintanBawa Ho aggiornato il codice. Ma ancora non funzionerà come previsto. Sto affrontando il problema solo con OS 5.1.1 e versioni successive. – sachi

risposta

6

Fase 1: Inserire il codice qui sotto in 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> 

Qui è possibile cambiare il textColor (ho usato # FF3E96 sopra) e il colore di sfondo (io ho usato # FF0000) per il pulsante. Puoi anche sostituire i valori textColor dal tuo layout XML relativo ai pulsanti utilizzando android:colorButtonNormal.

Fase 2: Creare un nuovo file XML in drawable cartella e aggiungere il seguente codice: ho chiamato il mio file XML come 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> 

Fase 3: Utilizzare lo stile e drawable nel vostro pulsante come segue .

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

Spero che risolva il tuo problema.

Problemi correlati