【发布时间】:2017-07-19 08:48:52
【问题描述】:
我使用的是 Gridlayout,它是用 xml 制作的,第一行有几个标题。现在我想将带有动态项目的新行添加到网格中。 我的问题是项目不在单元格中居中并且与标题不匹配。
这是 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>
例如,这是我尝试在第二个单元格的第二行中添加 TextView 的方式。
...
TextView cellnum = new TextView(getContext());
cellnum.setGravity(Gravity.CENTER);
cellnum.setText("9");
...
gridLayout.addView(cellnum);
文本似乎在正确的单元格中,但它没有在标题下方居中
这是我第一次尝试并完美运行的 xml 版本,但我需要动态构建它
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="9" />
【问题讨论】:
标签: android grid-layout gravity