2015-07-07 18 views
5

vorrei creare un Button che assomiglia a questo:Come creare un pulsante rotondo con una sovrapposizione angolo

Button image

Questo è quello che ho provato finora:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="60dp" 
       android:layout_height="60dp" 
       android:background="#00000000"> 

    <ImageButton 
     android:id="@+id/btnPinterest" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_marginTop="-5dp" 
     android:contentDescription="@null" 
     android:scaleType="fitCenter" 
     android:src="@drawable/pinterest"/> 

    <TextView 
     android:layout_width="30dp" 
     android:layout_height="30dp" 
     android:layout_alignParentRight="true" 
     android:layout_marginTop="0.5dp" 
     android:background="@drawable/notification"/> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:gravity="center" 
     android:text="@string/btnPinterest" 
     android:textColor="#FFFFFF" 
     android:textSize="12sp"/> 

</RelativeLayout> 

Ma Non sono soddisfatto, non assomiglia allo Button che ho mostrato sopra. Ad esempio il testo un testo è troppo vicino. Qualcuno può aiutarmi a replicare questo Button in modo più accurato?

Se qualcuno ha bisogno, questa è l'immagine sovrapposto:

Notification Icon

+1

Puoi modificare un'immagine di ciò che hai attualmente nella tua domanda? Ciò renderebbe molto più semplice la comprensione del problema. –

+1

È possibile utilizzare solo un singolo ImageButton e sovrascrivere il callback onDraw per disegnare l'elemento corner da solo. – Luksprog

+0

@all: grazie a tutti – Javier

risposta

1

Usare Gimp per produrre quattro immagini e salvarle in drawable. le tue immagini devono avere quel triangolo blu in alto a sinistra e devi digitare il testo "Pinterest" e altri disegni nell'immagine.

quindi creare un nuovo file XML e mettere questo in esso:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_enabled="false" android:drawable="@drawable/button_shape_enabled"/> 
<item android:drawable="@drawable/button_shape_pressed" 
    android:state_pressed="true" /> 
<item android:drawable="@drawable/button_shape_focused" 
    android:state_focused="true" /> 
<item android:drawable="@drawable/button_shape_default"/> 
</selector> 

che vi darà un pulsante personalizzato per 4 stati: 1) Disabled 2) Premuto 3) si è concentrato 4) Abilitato (impostazione predefinita)

+0

grazie, penso che dovrei usare la visualizzazione personalizzata perché ho un sacco di pulsanti come questo – Javier

Problemi correlati