2017-06-26 4 views
1

Ich versuche dynamische Tasten in Grid layout auszurichten.dynamische Tasten im Raster ausrichten

Problem:

Wenn jedoch mehr als eine Textzeile wird die Bildung von Tasten in der Reihe wird nicht als notwendig.

Zeichenfolge item [] = new Zeichenfolge [] {"item1", "item2", "item3 ja", "item4", "item5"};

Schaltfläche [] myButton = neue Schaltfläche [item.length];

GridLayout scrViewButLay = (GridLayout) findViewById(R.id.grid); 
    scrViewButLay.setColumnCount(4); 
    scrViewButLay.setRowCount(10); 

// GridLayout.LayoutParams leftMarginParams = new GridLayout.LayoutParams ( //);

for (int index = 0; index < item.length ; index++) { 


     myButton[index] = new Button(this); //initialize the button here 
     myButton[index].setText(item[index]); 
     myButton[index].setHeight(100); 
     myButton[index].setWidth(100); 
     myButton[index].setTag(index); 

     scrViewButLay.addView(myButton[index]); 

    } 
} 

output image `

+0

Warum verwenden Sie keinen Adapter? –

+0

ich bin neu zu Android können Sie mir irgendein Beispiel –

Antwort

0

Ich empfehle einen Adapter zu verwenden und dann anpassen, wie Sie wollen Check-out dieses Beispiel http://androidexample.com/Custom_Grid_Layout_-_Android_Example/index.php?view=article_discription&aid=76

+0

Vielen Dank für das Beispiel, aber wenn ich Codes kopieren und in Android Studio einfügen. Der 'GridAdapter' wird nicht erkannt. Gibt es eine Möglichkeit, die Childs von Gridlayout zu steuern, anstatt Gridview zu verwenden? –

+0

herunterladen Quellcode und importieren Sie es nicht nur kopieren und einfügen! –

+0

Es funktioniert, aber es schafft ein weiteres Problem Ich brauche getTag oder getID Funktionen beim Klicken auf jedes Element. funktioniert aber nicht von der Hauptaktivitätsklasse –