因此,我使用图形编辑器、固定像素值等在 Eclipse 中制作了一个应用程序AbsoluteLayout
......一般来说只是不好的做法。它默认为3.7in screen
. 有没有办法为每个屏幕尺寸设置design
一个separate layout
,并让程序根据所述屏幕尺寸选择要加载的内容?
3 回答
为不同的屏幕尺寸提供不同的布局 默认情况下,Android 会调整应用程序布局的大小以适应当前设备屏幕。在大多数情况下,这可以正常工作。在其他情况下,您的 UI 可能看起来不太好,并且可能需要针对不同的屏幕尺寸进行调整。例如,在较大的屏幕上,您可能需要调整某些元素的位置和大小以利用额外的屏幕空间,或者在较小的屏幕上,您可能需要调整大小以使所有内容都适合屏幕。
可用于提供特定于大小的资源的配置限定符有 small、normal、large 和 xlarge。例如,超大屏幕的布局应该放在 layout-xlarge/ 中。
从 Android 3.2(API 级别 13)开始,不推荐使用上述尺寸组,您应该改用 sw<N>dp 配置限定符来定义布局资源所需的最小可用宽度。例如,如果您的多窗格数位板布局需要至少 600dp 的屏幕宽度,则应将其放置在layout-sw600dp/中。使用声明布局资源的新技术将在关于为 Android 3.2 声明平板电脑布局的部分中进一步讨论。
来自 Android开发者网站- 只需使用 layout-small/ layout-xlarge/ etc.. 文件夹 :=) 最好的方式..
我通过在启动时运行此代码来解决此问题
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
从那里我执行一个 if 语句来检查分辨率并加载为该分辨率制作的特定布局。前任。WVGA 屏幕是 800x480,所以我检查并加载布局。
if (width == 480 && height == 800)
{
setContentView(R.layout.main);
}
这适用于 API < 13,现在不推荐使用这些功能,请参阅获取屏幕尺寸(以像素为单位)
相反,只需在“res”文件夹中创建不同的文件夹,“layout-small”用于小屏幕,“layout-large”用于大屏幕,“layout-xlarge”用于超大屏幕。相应地设计布局。单击此处了解更多信息。