当文本包装在多个列中时,最小化Xamarin.Forms网格的高度

时间:2017-05-18 18:32:03

标签: xamarin.forms

在HTML中,当表有多列可以换行的文本时,浏览器会计算最佳列宽以最小化表的高度。例如,使用以下HTML,如its fiddle中所示,第一列将比第二列略宽。究竟多少取决于字体细节。

<table width="200">
  <tr>
    <td>The quick brown fox jumped over the lazy lazy lazy dog</td>
    <td>The lazy brown fox jumped over the dog</td>
  <tr>
</table>

Android的TableLayout支持缩小列。但是,使用Xamarin.Forms Grid,这似乎是不可能的。您可以强制使用Star的比例,但根据列内容它不是动态的。将列设置为自动没有帮助;它会占用完整的可用宽度,而不会与后面的列共享该宽度。

有没有办法让Grid或任何其他控件共享列宽,以便最小化整体高度?

1 个答案:

答案 0 :(得分:0)

遗憾的是,答案没有。 Xamarin Forms网格不是基于任何平台控件,它只是根据GridCalc.cs中自己的计算设置元素位置。

Grid仅支持Star,Auto和GridLength。

  • Star =以相等的部分分割屏幕

  • 自动=匹配内容

  • GridLength =指定确切的高度或宽度

最佳选择可能是将第二列设置为已定义的宽度,然后第一列将缩小并随屏幕大小增长。