Autore Topic: TableLayout e XML in generale: questo maledetto!  (Letto 455 volte)

Offline sismouse

  • Utente junior
  • **
  • Post: 70
  • Respect: 0
    • Mostra profilo
TableLayout e XML in generale: questo maledetto!
« il: 12 Ottobre 2014, 20:21:01 CEST »
0
Un pomeriggio su questo layout e alla fine non ho ottenuto il risultato desiderato!


(le linee affianco ai campi sono degli EditText e non ho capito perché alcuni non vengono mostrati nell'anteprima, fatto sta che sull'app si vedono senza problemi)

Vorrei spostare tutte le linee corrispondenti agli EditText più a destra e non ci sono riuscito in nessuno modo! Cosa posso provare a cambiare?
Inoltre quel pulsante "Info" una volta cliccato riempe le due EditText che sono al suo fianco... e vorrei spostare la seconda (che scomprare sulla destra del layout) sotto la prima in modo che il pulsante Info sia allineato al centro rispetto a loro.

Ecco l'XML:

Codice: [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.myapp.Login"
    tools:ignore="MergeRootFrame"
    android:id="@+id/aggiungi">
           
        <RelativeLayout
            android:id="@+id/elenco_campi"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
           
             <TableLayout
                     android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:id="@+id/tabella"
                android:layout_marginLeft="20dp">
               
                    <TableRow
                            android:layout_height="wrap_content"
                        android:layout_width="match_parent"
                        android:layout_marginTop="20dp">
                       
                        <Button
                                android:id="@+id/button3"
                            android:layout_width="wrap_content"
                            android:layout_marginTop="20dp"
                            android:layout_height="wrap_content"
                            android:background="@drawable/evento_bottone_giallo"
                            android:onClick="locate"
                            android:text="@string/info" />
               
                                <EditText
                                    android:id="@+id/editInfo1"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:ems="8"
                                android:inputType="text"
                                android:textColor="@color/black" />
                               
                                <EditText
                                    android:id="@+id/editInfo2"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:ems="8"
                                android:inputType="text"
                                android:textColor="@color/black" />                               
               
                        </TableRow>
                     
                    <TableRow
                            android:layout_height="wrap_content"
                        android:layout_width="match_parent"
                        android:layout_marginTop="20dp">
                       
                            <TextView
                                    android:id="@+id/textNome"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:text="@string/text_categoria"
                                android:textColor="@color/black" />
               
                                <EditText
                                    android:id="@+id/editNome"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:ems="8"
                                android:inputType="text"
                                android:textColor="@color/black" />
               
                        </TableRow>
                   
                    <TableRow
                            android:layout_height="wrap_content"
                        android:layout_width="match_parent"
                        android:layout_marginTop="20dp">
                               
                    <TextView
                                    android:id="@+id/textCognome"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:text="@string/text_titolo"
                                android:textColor="@color/black" />
                       
                                <EditText
                                    android:id="@+id/editCognome"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:ems="8"
                                android:inputType="text"
                                android:textColor="@color/black" />
                 
                        </TableRow>
                       
                    <TableRow
                            android:layout_height="wrap_content"
                        android:layout_width="match_parent"
                        android:layout_marginTop="20dp">
               
                    <TextView
                            android:id="@+id/textNick"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="@string/text_descrizione"
                            android:textColor="@color/black" />
               
                       <EditText
                            android:id="@+id/editNick"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:ems="8"
                                android:inputType="text"
                                android:textColor="@color/black" />
                       
                        </TableRow>
                       
                    <TableRow
                            android:layout_height="wrap_content"
                            android:layout_width="match_parent"
                        android:layout_marginTop="20dp">
                       
                        <TextView
                                    android:id="@+id/textAddress"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:text="@string/text_address"
                                android:textColor="@color/black" />
       
                                <EditText
                                    android:id="@+id/editAddress"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:ems="8"
                                android:inputType="text"
                                android:textColor="@color/black" />
                       
                        </TableRow>
                               
                <TableRow
                    android:layout_height="wrap_content"
                    android:layout_width="match_parent"
                    android:layout_marginTop="20dp">
                       
                        <TextView
                            android:id="@+id/textCap"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="@string/text_cap"
                            android:textColor="@color/black" />
       
                        <EditText
                            android:id="@+id/editCap"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:ems="8"
                            android:inputType="text"
                            android:textColor="@color/black" />
       
                </TableRow>
               
                <TableRow
                    android:layout_height="wrap_content"
                    android:layout_width="match_parent"
                    android:layout_marginTop="20dp">
               
                        <TextView
                            android:id="@+id/textCitta"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="@string/text_citta"
                            android:textColor="@color/black" />
               
                        <EditText
                            android:id="@+id/editCitta"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:ems="8"
                            android:inputType="text"
                            android:textColor="@color/black" />
               
                </TableRow>
                       
                <TableRow
                    android:layout_height="wrap_content"
                    android:layout_width="match_parent"
                    android:layout_marginTop="20dp">
                       
                        <TextView
                            android:id="@+id/textProv"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="@string/text_provincia"
                            android:textColor="@color/black" />
       
                        <EditText
                            android:id="@+id/editProv"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:ems="8"
                            android:inputType="text"
                            android:textColor="@color/black" />
               
                </TableRow>
               
            </TableLayout>
           
                   <LinearLayout android:layout_height="wrap_content"
                android:layout_width="match_parent"
                android:orientation="vertical"
                android:layout_marginTop="40dp"
                    android:layout_below="@+id/tabella">

                <Button
                        android:id="@+id/button1"
                    android:layout_width="272dp"
                    android:layout_marginTop="20dp"
                    android:layout_gravity="center"
                    android:layout_height="wrap_content"
                    android:background="@drawable/evento_bottone_giallo"
                    android:onClick="send"
                    android:text="@string/ok" />                       
                                               
                    <Button
                            android:id="@+id/button2"
                        android:layout_width="272dp"
                        android:layout_gravity="center"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="20dp"
                        android:layout_marginBottom="20dp"
                        android:background="@drawable/evento_bottone_scuro"
                        android:text="@string/annulla" />
                       
            </LinearLayout>
        </RelativeLayout>
</ScrollView>

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:TableLayout e XML in generale: questo maledetto!
« Risposta #1 il: 13 Ottobre 2014, 08:45:53 CEST »
+1
Prova questo approccio, te lo scrivo in pseudo-codice per rapidità.

LinearLayout vertical
 + LinearLayout horizontal
    - TextView (layout_width=0 layout_weight=1)
    - EditText (layout_width=0 layout_weight=3)
 + LinearLayout horizontal
    - TextView (layout_width=0 layout_weight=1)
    - EditText (layout_width=0 layout_weight=3)
 + LinearLayout horizontal
    - TextView (layout_width=0 layout_weight=1)
    - EditText (layout_width=0 layout_weight=3)
...
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline sismouse

  • Utente junior
  • **
  • Post: 70
  • Respect: 0
    • Mostra profilo
Re:TableLayout e XML in generale: questo maledetto!
« Risposta #2 il: 13 Ottobre 2014, 11:31:27 CEST »
0
Forse con questo approccio le cose andranno meglio, ecco come risulta (ho provato solo con i primi 3 campi):



Ora, come inserisco il pulsante Info con affianco due EditText, anzichè uno, in modo che il pulsante sia allineato con il centro dei due EditText.
Inoltre, come aumento lo spazio al centro tra i TextView e gli EditText?

Offline Jeeko

  • Nuovo arrivato
  • *
  • Post: 5
  • #Now Browser and #Smart Player creator, it rocks!
  • Respect: +1
    • Github
    • Google+
    • lorenzo.zanotto2
    • @lorenzo_zanotto
    • Mostra profilo
    • Personal website
  • Dispositivo Android:
    Samsung Galaxy S2 Plus
  • Play Store ID:
    Lorenzo Zanotto
  • Sistema operativo:
    Mac OS X 10.10.2
Re:TableLayout e XML in generale: questo maledetto!
« Risposta #3 il: 13 Ottobre 2014, 18:15:30 CEST »
0
Bradipao sembra avere ragione, fammi sapere come procede  :-)
Mobile Developer, UI/UX Designer
www.lorenzozanotto.com
Creator of Now Browser app
www.nowbrowser.ga // www.thelinx.net

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:TableLayout e XML in generale: questo maledetto!
« Risposta #4 il: 13 Ottobre 2014, 18:22:02 CEST »
+1
Per aumentare lo spazio tra i vari widget, lavora di layout_margin_left o layout_margin_right sui singoli widget.

Per fare il button con due edittext in linea, la filosofia è la stessa:

 + LinearLayout horizontal
    - Button (layout_width=0 layout_weight=2)
    - EditText (layout_width=0 layout_weight=3)
    - EditText (layout_width=0 layout_weight=3)

Ho scelto i numeri opportunamente: devi considerare il layout come una griglia a quadretti, il weight indica il numero di quadretti che occuperà il widget. La somma degli weight su una riga è il numero di quadretti totali sulla riga.





NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline sismouse

  • Utente junior
  • **
  • Post: 70
  • Respect: 0
    • Mostra profilo
Re:TableLayout e XML in generale: questo maledetto!
« Risposta #5 il: 13 Ottobre 2014, 19:35:09 CEST »
0
Avevo risolto prima che mi rispondessi, grazie mille!