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