Autore Topic: Creare un layout lato programmazione  (Letto 917 volte)

Offline thebelfastboy

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: +3
    • Mostra profilo
Creare un layout lato programmazione
« il: 04 Luglio 2011, 11:17:59 CEST »
0
Salve a tutti, devo creare una tabella dinamica lato programmazione. Ho creato il mio file xml con uno scrollView e nella classe java ho creato la mia tableLayout con tutte le view da inserire. L'unico problema che non riesco a risolvere è come settare i parametri  android:layout_width e  android:layout_height, e i vari margin alle view.

Per quanto riguarda i layout ho fatto una cosa del genere:

Codice (Java): [Seleziona]
ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
e poi associavo lp alle view in questo modo

Codice (Java): [Seleziona]
text.setLayoutParams(lp);
Ma non funziona.

Soluzioni?

Offline Zappescu

  • Utente junior
  • **
  • Post: 110
  • Respect: +7
    • Mostra profilo
    • Tic Tank Toe
  • Dispositivo Android:
    HTC Magic
  • Play Store ID:
    Zapmobilegames
  • Sistema operativo:
    Win XP
Re:Creare un layout lato programmazione
« Risposta #1 il: 04 Luglio 2011, 18:01:18 CEST »
0
Io facevo così per la tabella dei punteggi:

Codice (Java): [Seleziona]
// Create a TableRow and give it an ID
                    TableRow tr = new TableRow(mContext);
                    tr.setId(100+current);
                    tr.setLayoutParams(new LayoutParams(
                            LayoutParams.FILL_PARENT,
                            LayoutParams.WRAP_CONTENT));  

                    // Create a TextView to house the rank number
                    TextView rankTV = new TextView(mContext);
                    rankTV.setId(200+current);
                    rankTV.setText(Integer.toString(current+1));
                    rankTV.setTextColor(Color.BLACK);
                    rankTV.setPadding(8, 0, 8, 0);
                    rankTV.setGravity(1); // center_horizontal
                    rankTV.setLayoutParams(new LayoutParams(
                            LayoutParams.WRAP_CONTENT,
                            LayoutParams.WRAP_CONTENT));
                    tr.addView(rankTV);

Spero ti aiuti a capire.
Zapmobilegames website
Tic Tank Toe: a new approach for a classic game

Offline thebelfastboy

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: +3
    • Mostra profilo
Re:Creare un layout lato programmazione
« Risposta #2 il: 07 Luglio 2011, 17:16:07 CEST »
0
Il metodo setLayoutParams, che spero sia per settare android:layout_width e height, non funziona. O meglio la scritta non viene visualizzata. Io faccio una cosa del genere:

Codice (Java): [Seleziona]
row = new TableRow(this);
                row.setGravity(Gravity.CENTER);
                text = new TextView(this);
                text.setTextAppearance(this, android.R.style.TextAppearance_Large);
                text.setText("Nessun prodotto selezionato");
                text.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
                row.addView(text);
                row.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
                tl.addView(row);
« Ultima modifica: 07 Luglio 2011, 17:21:16 CEST da thebelfastboy »