我想在android中创建一个具有动态列数的表我知道如何使用LayoutInflator动态添加行但是如何动态添加列?
感谢您的时间,我们非常感谢您的帮助。
答案 0 :(得分:0)
你不添加列 - 只有行,之后你可以告诉每个视图需要跨越多少列
android:layout_span
Defines how many columns this child should span. Must be >= 1.
Must be an integer value, such as "100".
This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.
This corresponds to the global attribute resource symbol layout_span.
最好的Tuts之一:http://mobile.tutsplus.com/tutorials/android/android-sdk_table-layout/
答案 1 :(得分:0)
使用Listview并为row创建自定义布局。使用水平方向为行
的线性布局 android:orientation="horizontal"
android:weightSum="100" // or some other values
在这个线性布局中,您可以添加任意数量的列。您可以通过设置布局权重来控制宽度。您可以在java中动态地执行此操作。并使每个单元格的宽度为零和高度match_parent.So您的文本将正确地包裹在每个细胞中。
设置重量优于直接设置宽度,因为它使用可用空间并且您的表格将在屏幕内正确显示
//修改
在布局中添加线性布局
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:weightSum="100" >
接下来我们必须创建列。实际上它应该是这样的,在这里你得到2个半尺寸的列
<TextView
android:id="@+id/textview"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="50"
/>
<TextView
android:id="@+id/textview"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="50"
/>
如果要动态执行此操作,则必须编写代码以在java src中创建Textview或任何其他视图,并将其布局权重设置为100 / no列。 您可以在布局参数中设置权重。