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

时间:2012-09-06 19:55:04

标签: android layout

如何在具有相同sw800dp最小宽度的ICS上为不同的dpi放置不同的资源?

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

我需要为这两种分辨率设置不同的布局和图像。

所以我创建了两个目录:

  

布局sw800dp-MDPI

     

布局sw800dp-HDPI

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

我很困惑,不知道如何为这两种不同的分辨率分离资源。

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

2 个答案:

答案 0 :(得分:1)

用它来获得密度:

float density = getBaseContext().getResources().getDisplayMetrics().density;

屏幕高度:

int h = 0;

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

h = (int) display.getHeight();

屏幕宽度:

int w = 0;

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

w = (int) display.getWidth()

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

答案 1 :(得分:1)

您应该使用位于/ layout / sw800dp中的相同布局,并使用create / drawable-mdpi,/ drawable-hdpi来放置您的自定义drawable,系统将使用相同的布局将正确的布局应用于每个设备。这些设备应具有相似的尺寸和方面......