Autore Topic: Problemi di allineamento pulsanti  (Letto 1038 volte)

Offline tuttoilmondo

  • Utente junior
  • **
  • Post: 65
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire Z
  • Sistema operativo:
    Mac OS X 10.7
Problemi di allineamento pulsanti
« il: 12 Gennaio 2012, 21:11:18 CET »
0
Ciao a tutti non riesco in nessun modo ad ottenere un allineamento fatto bene. Avete qualche consiglio ?

Codice (Java): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/relativeLayout1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/background" >

        <LinearLayout
            android:id="@+id/linearLayout1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="44dp" >

            <Button
                android:id="@+id/Button1"
                android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:drawableBottom="@android:drawable/ic_menu_camera"
                        android:text="Sant'Antonio" />

            <Button
                android:id="@+id/Button2"
                android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:drawableBottom="@android:drawable/ic_menu_camera"
                        android:text="Ponte Darwin" />

        </LinearLayout>

        <LinearLayout
            android:id="@+id/linearLayout2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/linearLayout1"
            android:layout_below="@+id/linearLayout1" >

            <Button
                android:id="@+id/Button3"
                android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:drawableBottom="@android:drawable/ic_menu_camera"
                        android:text="Padova Est" />

            <Button
                android:id="@+id/Button4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawableBottom="@android:drawable/ic_menu_camera"
                android:text="Via Venezia" />

        </LinearLayout>

        <LinearLayout
            android:id="@+id/linearLayout3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/linearLayout2"
            android:layout_below="@+id/linearLayout2" >

            <Button
                android:id="@+id/Button5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawableBottom="@android:drawable/ic_menu_camera"
                android:text="C.so Stati U. Tang." />

            <Button
                android:id="@+id/Button6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawableBottom="@android:drawable/ic_menu_camera"
                android:text="Via S. Marco" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/linearLayout5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/linearLayout3"
            android:layout_below="@+id/linearLayout3" >

            <Button
                android:id="@+id/Button9"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawableBottom="@android:drawable/ic_menu_camera"
                android:text="C.so Stati U." />

            <Button
                android:id="@+id/Button10"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawableBottom="@android:drawable/ic_menu_camera"
                android:text="Hotel Biri" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/linearLayout4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/linearLayout5"
            android:layout_below="@+id/linearLayout5" >

            <Button
                android:id="@+id/Button7"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawableBottom="@android:drawable/ic_menu_camera"
                android:text="Arcella" />

            <Button
                android:id="@+id/Button8"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawableBottom="@android:drawable/ic_menu_camera"/>
        </LinearLayout>
       
    </RelativeLayout>

Ecco il risultato:


finchè il testo rimane uguale per tutti i pulsanti l'allinemento è perfetto, appena cambia, l'anarchia !

Cosa posso fare ?

Grazie
Le mie App sul market Android, Apple e Blackbarry:
Bacchiglione, Colorare, Debito Pubblico, Milano WebCam, Padova WebCam, Palermo WebCam, Venezia WebCam
Android Market
BlackBerry Store

Zate

  • Visitatore
Re:Problemi di allineamento pulsanti
« Risposta #1 il: 12 Gennaio 2012, 21:36:26 CET »
+1
in android:layout_width dei button metti un numero (in dp, in modo che si adatti a vari schermi) invece che wrap content, per esempio:
Codice (XML): [Seleziona]
android:layout_width="100dp"

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Problemi di allineamento pulsanti
« Risposta #2 il: 12 Gennaio 2012, 23:11:48 CET »
+1
finchè il testo rimane uguale per tutti i pulsanti l'allinemento è perfetto, appena cambia, l'anarchia !

Cosa posso fare ?

Ti propongo una prova (nel senso che non ho provato personalmente la soluzione, ma la proverei), in tutti i Button sostituisci questo:

Codice (XML): [Seleziona]
android:layout_width="wrap_content"
con:

Codice (XML): [Seleziona]
android:layout_width="0dp"
android:layout_weight="1"

Se i Button occupano troppo spazio in orizzontale, lavora di layout_marginLeft e layout_marginRight.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline tuttoilmondo

  • Utente junior
  • **
  • Post: 65
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire Z
  • Sistema operativo:
    Mac OS X 10.7
Re:Problemi di allineamento pulsanti
« Risposta #3 il: 13 Gennaio 2012, 19:46:02 CET »
0
Ciao ho applicato la modifica che mi hai consigliato ma non ha risolto il problema. L'ho comunque lasciata ed ho inziato ad agire sul centramento non dei bottoni ma dei linear layout.

Ho impostato tutti e cinque i linear layout sul center horizontal ma non è quello che voglio. Guarda il risultato:



I pulsanti non sono ordinati rispetto alla linea centrale, infatti il piccolo spazio al loro centro non lo è (o meglio lo è per le prime due righe ma solo per pura fortuna). Sono allineati affinchè il loro margine dx e sx sia uguale, in effetti anche questo è un allieamento orizionatale, non è però quello che voglio io.
Questo allineamento sbagliato l'ho ottenuto con questo parametro:

Codice (Java): [Seleziona]
android:layout_centerHorizontal="true"
Mi chedevo se ne esiste uno per il centramento che voglio io.

Grazie

Paolo
« Ultima modifica: 13 Gennaio 2012, 19:48:13 CET da tuttoilmondo »
Le mie App sul market Android, Apple e Blackbarry:
Bacchiglione, Colorare, Debito Pubblico, Milano WebCam, Padova WebCam, Palermo WebCam, Venezia WebCam
Android Market
BlackBerry Store

Offline tuttoilmondo

  • Utente junior
  • **
  • Post: 65
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire Z
  • Sistema operativo:
    Mac OS X 10.7
Re:Problemi di allineamento pulsanti
« Risposta #4 il: 13 Gennaio 2012, 20:24:08 CET »
0
Fatte altre prove ed ho risolto, ecco il risultato:



In effetti è una conbinazione del tuo consiglio per il bottone:

Codice (Java): [Seleziona]
android:layout_width="0dp"
android:layout_weight="1"

e del mio parametro nel layout:

Codice (Java): [Seleziona]
android:layout_centerHorizontal="true"
Il problema è che anche così secondo me fà schifo. Quando usavo Appinventor dimensionavo i bottoni in altezza, larghezza e margine in rapporto alla dimsione dello schermo, sono sicuro che con eclipse si può fare, non so come però.

Ciao e grazie

Paolo
Le mie App sul market Android, Apple e Blackbarry:
Bacchiglione, Colorare, Debito Pubblico, Milano WebCam, Padova WebCam, Palermo WebCam, Venezia WebCam
Android Market
BlackBerry Store

Offline tuttoilmondo

  • Utente junior
  • **
  • Post: 65
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire Z
  • Sistema operativo:
    Mac OS X 10.7
Re:Problemi di allineamento pulsanti
« Risposta #5 il: 13 Gennaio 2012, 23:56:12 CET »
0
Alla fine ho ottenuto quello che volevo, ecco il risultato:



Ci sono riuscito però sostituendo ai parametri:

Codice (Java): [Seleziona]
android:layout_width="0dp"
android:layout_weight="1"

i parametri fissi:

Codice (Java): [Seleziona]
android:layout_width="140dp"
android:layout_height="85dp"

Ho provato diverse risoluzioni e mi sembra che si mantenga pressochè omogeneo.

E' possibile rendere più trasparente il bottone affinchè si veda meglio lo sfondo ?

Grazie

P.S Se qualcuno rispondesse a questo post http://www.anddev.it/index.php/topic,104.msg33804.html#msg33804 riuscirei a finire e ripubblicarla nel market
« Ultima modifica: 14 Gennaio 2012, 00:36:10 CET da tuttoilmondo »
Le mie App sul market Android, Apple e Blackbarry:
Bacchiglione, Colorare, Debito Pubblico, Milano WebCam, Padova WebCam, Palermo WebCam, Venezia WebCam
Android Market
BlackBerry Store