7

我的平板电脑应用程序在每个行项目中显示了一个带有多个 TextView 的 ListView(使用自定义光标适配器)。我有大约 6-7 列,为所有列提供相等空间的最佳方法是什么?

现在我试过了:

  • 每个 TextView 的权重相同。但这永远不会正确对齐。
  • 与第一个一起使用最大宽度,仍然没有运气,一个很容易溢出并将下一个推到右边。

    <TextView
        android:layout_width="20dp"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:layout_weight="1"
        android:text="column 1"
        android:textSize="22sp" />
    
4

5 回答 5

14

权重很好,但是每次使用布局权重时都必须设置android:layout_width为,否则您的视图可能无法正确缩放。0dp

此外,不要将固定宽度与布局权重混合使用。如果您选择使用权重,请在行布局中的任何地方使用它们。

于 2012-08-03T16:26:33.820 回答
3

在 Android 上使用固定的宽度和高度不是一个好习惯,让 Android 来做布局。您可以使用带有权重的线性布局,以便正确排列不同行中的项目。使用“android:width=0dp”并使用权重来标注各个字段。另一种方法是使用 TableLayout,但这有点棘手。但是,它确实有效。

于 2012-08-03T16:28:19.097 回答
0

带有一行的表格布局。桌子的整个概念是等距。

于 2012-08-03T16:26:17.207 回答
0

在我的情况下(对于错误日志视图),我从 5 和 1 中指定了 4 列(TextViews)的宽度(在带有错误描述的骗局中)得到 weight=1 以占用所有可用空间。它看起来不错,没有性能凸耳。

于 2012-08-03T16:32:17.127 回答
0

看起来不可能像 ListView 那样获得整洁的表格,因为对于权重管理,不同的内容列各自具有不同的列大小。有人有 XML 解决方案吗?固定宽度不起作用,因为我需要支持各种屏幕。

于 2014-04-04T19:37:32.243 回答