如何使TableLayout响应

时间:2016-11-08 07:49:01

标签: java android android-studio tablelayout

目前我正在开发一些包含android的{​​{1}}应用程序。 我在移动(手机)设备上做了一个。 我希望在平板电脑(7“-10”)显示屏上显示list。因此responsiveheader与移动显示中的内容相同。

这是5“和7”显示之间的差异:

5" display

Tablet Dispaly

这是我当前的xml代码

column

我在这里看到了文档https://developer.android.com/guide/practices/screens_support.html

但我仍然没有得到它, 做这样的事情有什么最好的做法吗?

感谢

4 个答案:

答案 0 :(得分:2)

您可以尝试设置

android:layout_width="0dp"
android:layout_weight="1"

代表每个标头TextView,因为TableRowLinearLayout

但我相信TableView不是最好的方法。如果你描述了你想要实现的目标,我们可以找到更好的方法。

答案 1 :(得分:0)

为tablerow布局指定权重...然后将其权重分配给所有文本视图。像:

<TableRow
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:weight_sum="1"  >

<TextView
            android:layout_width="0dp"
            android:layout_weight=".2" // for five texts .2 for each
            android:layout_height="wrap_content" 
            ......  />

答案 2 :(得分:0)

在表格行中尝试此代码 一种水平排列其子项的布局。 TableRow应始终用作TableLayout的子级。如果TableRow的父级不是TableLayout,则TableRow将表现为水平LinearLayout。

TableRow的子节点不需要在XML文件中指定layout_width和layout_height属性。 TableRow始终将这些值分别强制为 MATCH_PARENT和WRAP_CONTENT。

答案 3 :(得分:0)

您应该使用 sp 作为文本, dp 作为视图。因此,android:textSizes="12dp"应该是android:textSize="12sp"

而不是msmdsrv.exe

点击此处了解更多详情:https://developer.android.com/guide/topics/resources/more-resources.html#Dimension