0

我希望我的 Android 应用程序能够流畅地适应不同的屏幕分辨率和旋转(横向/纵向方向变化)。到目前为止,按照建议,使用 Fragments 和几个布局文件已经完成了这项工作。

现在我使用TableLayout以表格格式显示数据库查询结果。

为了使这种布局适应不同的屏幕/布局宽度,我想完全隐藏列(首先隐藏最不重要的列),直到有足够的空间容纳可用空间中剩余的内容。理想情况下,单元格内容不会换行,并且列宽将固定为完全显示其内容所需的最小值。

请注意最后一部分:由于列宽是其内容的函数,并且在设计时未知,因此布局必须在运行时适应可用空间,并且不允许缩小列宽。

4

1 回答 1

1

我想,最简单的方法是为不同的屏幕分辨率创建不同的 TableLayouts。在您的代码中,您将测试布局中是否有某个字段可用,如果有则填充它。如果不是,那么您使用的设备的屏幕分辨率没有该特定字段的列。无论如何,在 Android 上推荐使用针对不同屏幕尺寸和分辨率的不同布局。

补充:您可以做的是编写自己的 MyTableLayout,并动态确定列数。写一个视图,实现“onLayout”和“onMeasure”并不难。这样,您将永远拥有最合适的人选。该视图将接受该行中的所有项目,并且只会显示适合的项目。

于 2012-09-19T19:34:13.337 回答