我曾经使用Eclipse的图形编辑器创建了一个应用程序,采用了AbsoluteLayout
、固定像素值等不良实践。它默认适配了3.7英寸屏幕
。有没有办法为每个屏幕大小设计单独的布局
,并让程序根据屏幕大小选择加载哪个布局呢?
我曾经使用Eclipse的图形编辑器创建了一个应用程序,采用了AbsoluteLayout
、固定像素值等不良实践。它默认适配了3.7英寸屏幕
。有没有办法为每个屏幕大小设计单独的布局
,并让程序根据屏幕大小选择加载哪个布局呢?
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”用于超大屏幕。根据需要设计布局。点击这里获取更多信息。