0

如何使用 或 获得纵向模式下的一列和横向模式下的两ListViewTableLayout

例如,在肖像中:

  • 元素 1
  • 元素 2
  • 元素 3
  • 元素 4

在景观中:

  • 元素 1 元素 2
  • 元素 3 元素 4

我想ListView在纵向模式下使用一列,TableLayout在横向模式下使用两列,但在此之前,我想知道您的建议。

4

2 回答 2

1

我建议使用ListView而不是 TableLayout,因为 ListView 只会创建足够的 View 来填充屏幕,而 TableLayout 会创建每个资源,无论它们是否可见。这样一来,TableLayout 会更慢,甚至可能使您的应用程序崩溃。


您可以使用以下答案之一检查设备的方向:检查 Android 手机上的方向。那么如果方向是:

  • 横向,加载您的双视图布局。
  • 肖像,加载您的基本单视图布局。

在 ListView 中加载不同的布局需要一个简单的自定义适配器。如果你以前没有写过,这里有一个教程可以帮助你。

于 2013-02-08T22:38:27.990 回答
1

使用 GridView 会很容易。您可以在运行时设置/选择列数,因此在纵向和横向模式下设置它们的方式不同。那样的话,你只会操纵一个视图。

于 2013-02-08T22:41:23.640 回答