2012-03-27 17 views
146

Voglio creare un pulsante personalizzato e ho bisogno che sia circolare. Come posso creare un pulsante circolare? Non penso che sia possibile con draw9patch.Pulsante cerchio personalizzato

Anche io non so come fare un pulsante personalizzato!

Avete qualche suggerimento?

+0

devi estendere la classe del pulsante e sovrascrivere il metodo onDraw. –

+2

ma il problema è qui se lo estendo, e l'utente tocchi fuori cerchio, verrà chiamato Onlcick, come risolverlo. – Ata

+0

perché non hai appena impostato un'immagine rotonda come sfondo del tuo pulsante? – MKJParekh

risposta

285

Usa drawable xml come questo:

Salva i seguenti contenuti come round_button.xml nella cartella drawable

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="false"> 
     <shape android:shape="oval"> 
      <solid android:color="#fa09ad"/> 
     </shape> 
    </item> 
    <item android:state_pressed="true"> 
     <shape android:shape="oval"> 
      <solid android:color="#c20586"/> 
     </shape> 
    </item> 
</selector> 

Android Effetto Materiale: Anche se FloatingActionButton è una scelta migliore, se si vuole farlo utilizzando selettore xml, creare una cartella drawable-v21 in res e salvare un altro round_button.xml lì con il seguente xml

<?xml version="1.0" encoding="utf-8"?> 
<ripple xmlns:android="http://schemas.android.com/apk/res/android" 
    android:color="#c20586"> 
    <item> 
     <shape android:shape="oval"> 
      <solid android:color="#fa09ad"/> 
     </shape> 
    </item> 
</ripple> 

e impostarla come sfondo di Button in XML come questo:

<Button 
android:layout_width="50dp" 
android:layout_height="50dp" 
android:background="@drawable/round_button" 
android:gravity="center_vertical|center_horizontal" 
android:text="hello" 
android:textColor="#fff" /> 

Importante:

  1. Se si vuole che mostra tutti questi stati (attivato, disattivato, evidenziato ecc), verrà utilizzato il selettore come described here.
  2. È necessario conservare entrambi i file per renderlo retrocompibile estraibile. Altrimenti, dovrai affrontare strane eccezioni nella precedente versione di Android.
+1

Grazie! L'ho aggiunto alla mia app! sembra fantastico !!!! – vitaluha

+0

Come aggiungere il centro dell'immagine del pulsante arrotondato .. – reegan29

+0

Con la cartella drawable si intende aprire una cartella denominata 'drawable', o salvarla in drawable-mdpi, hdpi, ecc ...? – Jjang

55

Markushi ha creato un widget per il pulsante circolare con effetti sorprendenti. Fare clic su here!

enter image description here

+1

Pulsante ottimo..grazie per il codice – John

+0

Come usare questo con un'immagine non circolare? – tomsoft

+2

Solo un avviso: la libreria collegata in questa risposta è ora deprecata. L'autore (Markushi) raccomanda invece di utilizzare un [Pulsante azione mobile] (https://developer.android.com/reference/android/support/design/widget/FloatingActionButton.html). –

14

AngryTool for custom android button

È possibile effettuare qualsiasi tipo di pulsante di Android personalizzati con questo sito strumento ... faccio cerchio e pulsante quadrato con angolo rotonda con questo toolsite .. Visita può essere ti aiuterò a

+1

Grazie amico. Mi hai salvato. Questo è esattamente ciò di cui ho bisogno. – Suniel

+0

Bel strumento! Grazie! – camelCaseCoder

+0

Yeh..Godetevi Coding –

Problemi correlati