2013-11-25 45 views
0

我开发的Android应用和测试了两个设备:的Android - 手动选择布局类型

银河S2 320x533dp 银河S4 360x640dp

两者都是“正常长”显示器,但由于S2是短比S4,我不能使用完整的S4屏幕。 我宁愿给S2“正常不长”的布局。 我该怎么做?

回答

0

显然,使用缩放布局是很好的,例如, RelativeLayout的。如果您使用的布局类型不符合您的期望,您也可以在onCreate()方法中选择布局。

//in onCreate() 
Display display = getWindowManager().getDefaultDisplay(); 
Point size = new Point(); 
display.getSize(size); 
int width = size.x; 
int height = size.y; 
if (/*condition whether dimensions match certain phone*/) { 
    setContentView(R.layout.first); 
} else { 
    setContentView(R.layout.second); 
} 

但我完全会试图避免这样的事情。你将不得不手动涵盖许多不同的维度,这是很多的工作,显然是不好的做法。尝试使用缩放的东西!

+0

您的方式不起作用,因为我的布局具有相同的名称,但位于不同的文件夹中。 “布局”和“布局长”。 我使用RelativeLayout,但它仍然太长,因为元素之间的间距是在dp中。 – Flo