Android 横向模式下ListView或TableLayout的两列
如何使用Android 横向模式下ListView或TableLayout的两列,android,listview,android-tablelayout,Android,Listview,Android Tablelayout,如何使用ListView或TableLayout在纵向模式下获得一列,在横向模式下获得两列 例如,在纵向: 要素1 要素2 要素3 要素4 在景观方面: 元素1元素2 要素3要素4 我本想在纵向模式下使用一列ListView,在横向模式下使用两列TableLayout,但在此之前,我想知道你的建议。我建议使用一个而不是一个TableLayout,因为ListView只创建足够的视图来填充屏幕,而TableLayout将创建每个资源,无论它们是否可见。这样一来,TableLayout的速度
ListView
或TableLayout
在纵向模式下获得一列,在横向模式下获得两列
例如,在纵向:
- 要素1
- 要素2
- 要素3
- 要素4
- 元素1元素2
- 要素3要素4
ListView
,在横向模式下使用两列TableLayout
,但在此之前,我想知道你的建议。我建议使用一个而不是一个TableLayout,因为ListView只创建足够的视图来填充屏幕,而TableLayout将创建每个资源,无论它们是否可见。这样一来,TableLayout的速度就慢了,甚至可能会使你的应用程序崩溃
您可以使用以下答案之一检查设备的方向:。如果方向为:
- 横向,加载双视图布局
- 纵向,加载基本的单视图布局
在ListView中加载不同的布局需要一个简单的自定义适配器。如果您以前没有编写过GridView,这里有一个方法可以帮助您。使用GridView会很容易。您可以在运行时设置/选择列的数量,从而在portait和横向模式下以不同的方式设置它们。这样,您就只需要操作一个视图。我想我会选择这个解决方案。我会测试它并给您反馈GridView是ListView的一个子类,所以它们非常相似。但要创建一个快速、个性化的布局,您必须编写一个定制的适配器。因此,如果一个if语句“非常困难”,那么一定要使用GridView.:)但是您仍然需要使用两个布局或使用if语句来确定方向。