Autore Topic: Creare layout scorrevoli sia in orizzontale che in verticale  (Letto 1445 volte)

Offline bisemanu

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
  • Dispositivo Android:
    Motorola Defy+ Acer Liquid A1
  • Sistema operativo:
    Mac OS X 10.7 Windows 7
Creare layout scorrevoli sia in orizzontale che in verticale
« il: 22 Aprile 2012, 14:13:23 CEST »
Salve a tutti,
vorrei capire come posso rendere scorrevole, sia in orizzontale che in verticale, questo layout di edit text che creo dinamicamente da codice java

tableLayout = new TableLayout(this);
tableLayout.setGravity(Gravity.CENTER);

values = new EditText[10][10];

for (int i = 0; i < 10; i++) {

tableRow = new TableRow(this);
tableRow.setGravity(Gravity.CENTER);

for (int j = 0; j < 10  ; j++) {
values[j] = new EditText(this);
values[j].setHint("r " + i + "c" +j);
values[j].setPadding(10, 10, 10, 10);
tableRow.addView(values[j]);
}

tableLayout.addView(tableRow);
}

setContentView(tableLayout);


Spero possiate aiutarmi
Grazie
« Ultima modifica: 22 Aprile 2012, 16:34:52 CEST da bisemanu »

Offline JJ

  • Nuovo arrivato
  • *
  • Post: 28
  • Immigrato in Francia...
    • Google+
    • opengeek_blog
    • Mostra profilo
    • OpenGeek
  • Dispositivo Android:
    Nexus 4, Nexus 5, Nexus 7
  • Play Store ID:
    Purple Soc. Coop.
  • Sistema operativo:
    Windows 10
Re:Creare layout scorrevoli sia in orizzontale che in verticale
« Risposta #1 il: 22 Aprile 2012, 14:30:05 CEST »
Ciao,
guarda questo esempio.
Mi trovate anche su www.opengeek.it !
Comics Checklist: scopri tutte le uscite dei fumetti in italiano! http://goo.gl/TF6CTn

Offline bisemanu

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
  • Dispositivo Android:
    Motorola Defy+ Acer Liquid A1
  • Sistema operativo:
    Mac OS X 10.7 Windows 7
Re:Creare layout scorrevoli sia in orizzontale che in verticale
« Risposta #2 il: 22 Aprile 2012, 14:34:51 CEST »
credo sia diverso dal mio problema, nel mio caso creo il layout con una tabella di edit text ed un button dinamicamente da java.

Offline bisemanu

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
  • Dispositivo Android:
    Motorola Defy+ Acer Liquid A1
  • Sistema operativo:
    Mac OS X 10.7 Windows 7
Re:Creare layout scorrevoli sia in orizzontale che in verticale
« Risposta #3 il: 22 Aprile 2012, 18:50:05 CEST »
Ho risolto in questo modo:

import android.app.Activity;
import android.os.Bundle;
import android.widget.*;
import android.view.Gravity;

public class TableActivity extends Activity
{ @Override
  public void onCreate(Bundle savedInstanceState)
         { super.onCreate(savedInstanceState);
           HorizontalScrollView HSC = new HorizontalScrollView(this);
           ScrollView VSC = new ScrollView(this);
           TableLayout tableLayout = new TableLayout(this);
           tableLayout.setGravity(Gravity.CENTER);
           EditText[][] values = new EditText[10][10];
           for (int i = 0; i < 10; i++)
               { TableRow tableRow = new TableRow(this);
                 tableRow.setGravity(Gravity.CENTER);
                 for (int j = 0; j < 10 ; j++)
                     { values[j] = new EditText(this);
                       values[j].setHint("r " + i + "c" +j);
                       values[j].setPadding(10, 10, 10, 10);
                       tableRow.addView(values[j]);
                     }
                 tableLayout.addView(tableRow);
               }
          VSC.addView(tableLayout);
          HSC.addView(VSC);
          setContentView(HSC);
        }
}

Offline ceklo

  • Nuovo arrivato
  • *
  • Post: 45
    • Mostra profilo
Re:Creare layout scorrevoli sia in orizzontale che in verticale
« Risposta #4 il: 23 Giugno 2013, 09:30:17 CEST »
Ho modificato così, altrimenti non funziona,

Codice: [Seleziona]
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layoutXX);
               
                HorizontalScrollView HSC = new HorizontalScrollView(this);
                ScrollView VSC = new ScrollView(this);
                TableLayout tableLayout = new TableLayout(this);
                tableLayout.setGravity(Gravity.CENTER);
                TextView[] values = new TextView[10];

for (int i = 0; i < 10; i++) {
                        TableRow tableRow = new TableRow(this);
                        tableRow.setGravity(Gravity.CENTER);
                        for (int j = 0; j < 10 ; j++) {
                                values[j] = new TextView(this);
                                values[j].setText(" R" + (i+1) + "C" + (j+1) + " ");
                                values[j].setPadding(10, 10, 10, 10);
                                tableRow.addView(values[j]);
                        }
                        tableLayout.addView(tableRow);
                }
VSC.addView(tableLayout);
HSC.addView(VSC);
setContentView(HSC);
}

cambiando:
Codice: [Seleziona]
TextView[] values = new TextView[10];
anzichè:
EditText[][] values = new EditText[10][10];

Spero utile

NOTA: io ho usato (per mie esigenze) TextView al posto di EditText.

ceklo
« Ultima modifica: 23 Giugno 2013, 09:45:09 CEST da ceklo »