【问题标题】:Android Stretch columns evenly in a TableLayoutAndroid 在 TableLayout 中均匀地拉伸列
【发布时间】:2009-11-03 11:10:43
【问题描述】:

我在我的 android 应用程序中显示一个值表,并且希望列在 size 方面均匀分布,而不是根据内容调整大小。

一直在玩stretchColumns,但找不到正确的组合,有什么想法吗?

【问题讨论】:

  • stretchColumns 出了什么问题?某些列是否“溢出”?
  • 我希望它们都具有相同的尺寸,但它们之间的尺寸似乎不同。
  • 我知道...我想弄清楚的是,如果其中一个视图大于您要为其列分配的区域。
  • 这里也一样,我试图弄清楚如何硬限制每列的宽度并将其设置为与其余列相同,并使每列的内容拉伸到其分配的最大宽度但不是更宽。

标签: android


【解决方案1】:

我遇到了同样的问题 - 我总是在 android:stretchColumns 中只输入一个数字,但您必须输入所有应该拉伸的列。所以如果你有三列,你必须写:

android:stretchColumns="0,1,2"

或者写:

android:stretchColumns="*"

然后所有列将具有相同的大小。提醒一下,android:stretchColumnsTableLayout 元素的属性。

【讨论】:

  • 我正在尝试在 android 中显示 7 col 值,但从类中动态显示...但是我在 android ph 上安装时。并保持圆形ph。它不能拉伸列以及 xml 静态。
  • 在运行时我们将如何做到这一点?
  • 更新:pTable.setColumnStretchable(1, true); pTable.setColumnShrinkable(0, true);
  • 这似乎是真的,直到列经常改变它的大小
【解决方案2】:

您需要为表格行中的每个视图同时设置android:layout_width="0dip"android:layout_weight="1"。我认为这是可行的,因为权重决定了各个视图使用的行中 EMPTY SPACE 的比例,并且由于所有视图的宽度都设置为0dip,因此整行都是空白空间,因此权重相同视图都分配了相同比例的整个宽度。

【讨论】:

    【解决方案3】:

    对列使用android:layout_weight

    【讨论】:

      【解决方案4】:

      您可以通过其内容的大小来控制列的大小。如果您希望它们都具有相同的大小,请通过 android:layout_width 在相应的单元格中进行设置。

      【讨论】:

      • 如果内容是动态的并且我不知道尺寸布局宽度不起作用。有没有其他办法
      【解决方案5】:

      对我来说,仍在寻找解决方案的人: 将列设置为可收缩和可拉伸就可以了。 我遇到了和 OP 差不多的问题。

      【讨论】:

      • 对我来说,它结合了你的答案 + linitbuff 的答案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-22
      • 1970-01-01
      • 2012-03-29
      • 2011-11-26
      • 1970-01-01
      相关资源
      最近更新 更多