Android-手动选择布局类型

Android-手动选择布局类型,android,layout,Android,Layout,我开发了一款Android应用程序,并在两台设备上进行了测试: 星系S2 320x533dp 星系S4 360x640dp 两者都是“正常长”显示,但由于S2比S4短,因此我无法使用整个S4屏幕。 我更愿意给S2的“正常不长”布局。 我该怎么做呢?显然,使用缩放布局(如RelativeLayout)会很好。如果使用的布局类型不能满足您的期望,也可以在onCreate()方法中选择布局 但我会尽量避免这样的事情。您将不得不手动覆盖许多不同的维度,这是一项大量的工作,而且显然是一种糟糕的做法。试着用

我开发了一款Android应用程序,并在两台设备上进行了测试:

星系S2 320x533dp 星系S4 360x640dp

两者都是“正常长”显示,但由于S2比S4短,因此我无法使用整个S4屏幕。 我更愿意给S2的“正常不长”布局。
我该怎么做呢?

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


但我会尽量避免这样的事情。您将不得不手动覆盖许多不同的维度,这是一项大量的工作,而且显然是一种糟糕的做法。试着用一些东西来缩放

您的方式不起作用,因为我的布局具有相同的名称,但位于不同的文件夹中。“布局”和“长布局”。我使用RelativeLayout,但它仍然太长,因为元素之间的间距是dp。
//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);
}