Autore Topic: pulsante rotondo  (Letto 1991 volte)

Offline mangiare94

  • Nuovo arrivato
  • *
  • Post: 18
  • Respect: 0
    • Mostra profilo
pulsante rotondo
« il: 10 Marzo 2012, 14:35:16 CET »
0
salve a tutti vorrei sapere come si fa dal lato xml a far diventare un pulsante rotondo grazie

Offline teskio

  • Moderatore globale
  • Utente normale
  • *****
  • Post: 387
  • Respect: +118
    • Github
    • Google+
    • Mostra profilo
    • Skullab
  • Dispositivo Android:
    Cubot GT99 / SurfTab Ventos 10.1
  • Play Store ID:
    Skullab Software
  • Sistema operativo:
    windows 7 / ubuntu 12.04
Re:pulsante rotondo
« Risposta #1 il: 10 Marzo 2012, 16:03:50 CET »
+1
Usando gli shape drawable
Drawable Resources | Android Developers

Crei un file XML dove definisci uno shape e poi lo assegni all'attributo background del Button.

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="oval">
    <!-- qui metti le dimensioni ( se vuoi ottenere un cerchio altezza e larghezza saranno uguali ) -->
    <size
       android:width="integer"  
       android:height="integer" />
</shape>

E poi :

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:orientation="vertical"
             android:layout_width="fill_parent"
             android:layout_height="fill_parent">

    <Button android:id="@+id/button"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:background="@drawable/il_nome_del_file_che_contiene_lo_shape"
           />

</LinearLayout>
« Ultima modifica: 10 Marzo 2012, 16:06:26 CET da teskio »

Offline mangiare94

  • Nuovo arrivato
  • *
  • Post: 18
  • Respect: 0
    • Mostra profilo
Re:pulsante rotondo
« Risposta #2 il: 10 Marzo 2012, 19:44:05 CET »
0
perchè mi da questi due errori?

"integer" in attribute "width" is not a valid format.
"integer" in attribute "height" is not a valid format.

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:pulsante rotondo
« Risposta #3 il: 10 Marzo 2012, 20:10:51 CET »
0
perchè mi da questi due errori?

"integer" in attribute "width" is not a valid format.
"integer" in attribute "height" is not a valid format.

Devi sostituire "integer" con la dimensione da attribuire...
Postate il LogCat LogCat LogCat LogCat LogCat

Offline mangiare94

  • Nuovo arrivato
  • *
  • Post: 18
  • Respect: 0
    • Mostra profilo
Re:pulsante rotondo
« Risposta #4 il: 11 Marzo 2012, 11:52:49 CET »
0
il mio problema è che non lo disegna su un button ma per esempio su un TextView si,questo è quello che ho scritto

questo nel main:
 <Button
            android:id="@+id/button1"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="20dp"
            android:background="@drawable/tondo"/>


questo nell'altro file xml:
<shape xmlns:android="http://schemas.android.com/apk/res/android"  android:shape="oval">
   
   
    <size
       android:width="45" 
       android:height="45" />
</shape>

« Ultima modifica: 11 Marzo 2012, 12:07:23 CET da mangiare94 »

Offline Giovanni D'Addabbo

  • Utente normale
  • ***
  • Post: 163
  • Respect: +8
    • Google+
    • giovannid
    • giovanni.daddabbo
    • magoscuro
    • Mostra profilo
    • Rhubbit.it - Sviluppo app Android/iOs
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Rhubbit srl
  • Sistema operativo:
    Windows/Mac/Linux
Re:pulsante rotondo
« Risposta #5 il: 11 Marzo 2012, 12:12:27 CET »
0
se hai un pulsante di dimensioni pari a 100dp devi impostare i bordi tondi di 50dp altrimenti non disegnerà MAI nulla, detto questo prova questo codice, sto supponendo che usi un pulsante di 100dp, alla peggio cambiala come ti serve. Il codice lo devi mettere in un file dentro /drawable:

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" >
        <shape>
            <solid
               android:color="#343434" />
            <stroke
               android:width="1dp"
               android:color="#171717" />
            <corners
               android:radius="50dp" />
            <padding
               android:left="10dp"
               android:top="10dp"
               android:right="10dp"
               android:bottom="10dp" />
        </shape>
    </item>
    <item>
        <shape>
            <gradient
               android:startColor="#343434"
               android:endColor="#171717"
               android:angle="270" />
            <stroke
               android:width="1dp"
               android:color="#171717" />
            <corners
               android:radius="50dp" />
            <padding
               android:left="10dp"
               android:top="10dp"
               android:right="10dp"
               android:bottom="10dp" />
        </shape>
    </item>
</selector>

chiaramente devi poi applicare il tutto al tuo pulsante

Fammi sapere come va :)
bye