android布局最小宽度(sw800dp)和不同的密度

Nor*_*ain 5 layout android

如何以最小的sw800dp宽度为ICS上的不同dpi分配不同的资源?

详细信息:有两个带有ICS 4.0.4的平板电脑。第一个具有1280x800分辨率和mdpi(160)密度。第二个具有1920x1200分辨率和hdpi(240)密度。因此,就最小宽度而言,它们都具有相同的sw800dp限定符,但具有不同的mdpi / hdpi密度限定符。

对于这两种分辨率,我需要具有不同的布局和图像。

所以我创建了两个目录:

布局-sw800dp-mdpi

布局-sw800dp-hdpi

我认为每个设备都会根据最小的宽度和密度选择自己的目录。但是他们两个都从同一个sw800dp-hdpi文件夹中获取资源!

我很困惑,不知道如何为这两种不同的决议分开资源。

任何帮助都非常感谢。提前致谢。

小智 1

用它来获取密度:

float density = getBaseContext().getResources().getDisplayMetrics().density;
Run Code Online (Sandbox Code Playgroud)

屏幕高度:

int h = 0;

Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();

h = (int) display.getHeight();
Run Code Online (Sandbox Code Playgroud)

屏幕宽度:

int w = 0;

Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();

w = (int) display.getWidth()
Run Code Online (Sandbox Code Playgroud)

之后只需选择正确的资源即可。