Ich verwende ein Gridlayout, das in Xml mit ein paar Header in der ersten Zeile erstellt wird. Jetzt möchte ich neue Zeilen mit dynamischen Elementen zum Gitter hinzufügen. Mein Problem ist, dass die Elemente nicht in der Zelle zentriert sind und nicht mit den Headern übereinstimmen.Center-Element in GridLayout
Dies ist das Gitter in dem XML-
<GridLayout
android:id="@+id/newGrid"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:columnCount="5"
android:rowCount="4">
<!-- Grid Header -->
<Space
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_gravity="center"
android:text="@string/cellNo" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_gravity="center"
android:text="@string/desity" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_gravity="center"
android:text="@string/voltage" />
<android.support.v7.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/problemIcon" />
</GridLayout>
Das ist zum Beispiel, wie ich versuche, eine Textview in der zweiten Reihe in der zweiten Zelle hinzuzufügen.
...
TextView cellnum = new TextView(getContext());
cellnum.setGravity(Gravity.CENTER);
cellnum.setText("9");
...
gridLayout.addView(cellnum);
Der Text scheint in der richtigen Zelle zu sein, aber es ist nicht direkt unter der Überschrift
Dies ist xml verison den ich frist versucht zentrierte und funktionierte perfekt, aber ich brauche es zu bauen dynamicaly
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="9" />
LayoutParams.WRAP_CONTENT und LayoutParams.FILL_PARENT einen Import fehlt. Aber GridLayout.LayoutParams (...) wird nicht akzeptiert – WeSt
funktioniert nicht, die Textansicht und sogar die Header verschwinden – WeSt
Ich habe alle meinen Code gepostet, und es funktioniert auf meiner Seite. Bitte überprüfen Sie, ob Sie etwas falsch kopieren –