Ausrichtung nicht richtig beim Hinzufügen von Ansicht dynamisch zu GridLayout

Beim Hinzufügen von Buttons von XML – Alles gut

Beim Hinzufügen von Schaltflächen über XML

<GridLayout android:id="@+id/social_gl_content" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerHorizontal="true" android:alignmentMode="alignBounds" android:columnCount="2" android:padding="8dp"> <LinearLayout android:layout_width="0dp" android:layout_height="45dp" android:layout_columnWeight="1"> <Button android:layout_width="fill_parent" android:layout_height="45dp" android:background="@android:color/holo_blue_light" android:text="Hi"/> </LinearLayout> <LinearLayout android:layout_width="0dp" android:layout_height="45dp" android:layout_columnWeight="1"> <Button android:layout_width="fill_parent" android:layout_height="45dp" android:background="@android:color/holo_green_light" android:text="Whatsapp"/> </LinearLayout> <LinearLayout android:layout_width="0dp" android:layout_height="45dp" android:layout_columnWeight="1"> <Button android:layout_width="match_parent" android:layout_height="45dp" android:background="@android:color/holo_green_light" android:text="This is facebook" /> </LinearLayout> <LinearLayout android:layout_width="0dp" android:layout_height="45dp" android:layout_columnWeight="1"> <Button android:layout_width="match_parent" android:layout_height="45dp" android:background="@android:color/holo_blue_light" android:text="On" /> </LinearLayout> </GridLayout> 

Beim Hinzufügen von Schaltflächen dynamisch (nach Code) – Ausrichtung fehlt, Schaltflächen nicht beenden vollständige Breite einer Spalte

 GridLayout gl = (GridLayout) findViewById(R.id.social_gl_content); LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE); for (int i = 0 ; i < strs.length ; i++) { View v = inflater.inflate(R.layout.grid_item, null); Button b = (Button) v.findViewById(R.id.button); b.setText(strs[i]); if ( i % 2 ==0) { b.setBackgroundColor(Color.BLACK); }else{ b.setBackgroundColor(Color.BLUE); } gl.addView(v); } 

Bildbeschreibung hier eingeben

  • Programmgesteuertes Erstellen einer GridLayout aus der Supportbibliothek
  • Android: Wie man ein GridLayout programmgesteuert erstellt?
  • Heterogenes GridLayout
  • Zeile in GridLayout ausblenden
  • GridView VS GridLayout in Android Apps
  • GridLayout aus der Supportbibliothek zeigt keine 2 Zeilen auf Android 2, onChildVisibilityChanged Error
  • Horizontale Mitte Ansichten innerhalb Android GridLayout
  • IntelliJ: Getting GridLayout Arbeit
  • 2 Solutions collect form web for “Ausrichtung nicht richtig beim Hinzufügen von Ansicht dynamisch zu GridLayout”

    Anstatt null zu übergeben:

    View v = inflater.inflate(R.layout.grid_item, null);

    Pass die parentView so dass v die richtigen Layout params hat.

    View v = inflater.inflate(R.layout.grid_item, gl, false);

    Versuche dies :

     LinearLayout.LayoutParams parms = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); b.setLayoutParams(parms); 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.