0

我有一个 FrameLayout,用于显示用于使用 ZBar 扫描的相机供稿。

我希望它占据应用程序运行的每个屏幕的很大一部分。硬编码的 275dp 正方形在最新款手机上看起来很棒,但在较小的屏幕上却被推迟了。

我计划硬编码一个 175dp 的正方形,然后在代码中让它根据手机屏幕的尺寸增长。

我可能会switch在各种屏幕尺寸上做一个,然后决定调整框架的大小。

这是一个好方法吗?

我将如何在 XML 中执行此操作?

4

2 回答 2

2

指定高度/宽度的 ALinearLayout将允许您模拟基于百分比的布局,否则您可以在想要使用整个屏幕宽度/高度时使用。layout_weightfill_parent

于 2012-11-12T15:25:37.017 回答
0

您可以为 ldpi、mdpi 和 hdpi(如果需要,可以使用 xhdpi 和 tvdpi)制作一个 xml 布局文件,并根据屏幕大小逐字设置不同的 xml。有了这个,您将能够毫无问题地适应大多数屏幕,但它不如百分比准确。但请记住,并非所有 Android 设备都具有通常的 16:9 或 16:10(8:5),因此百分比可能会使正方形因屏幕而异。

您可以制作自己的布局限定符,但在大多数情况下,标准的限定符已经足够了。

您还应该考虑只在 java 中制作框架布局,而在 xml 中制作其余布局。

于 2012-11-12T16:13:43.627 回答