如何在具有相同sw800dp最小宽度的ICS上为不同的dpi放置不同的资源?
详情:有两款ICS 4.0.4平板电脑。第一个具有1280x800分辨率和mdpi(160)密度。第二个具有1920x1200分辨率和hdpi(240)密度。因此,就最小宽度而言,它们都具有相同的sw800dp限定符,但具有不同的mdpi / hdpi密度限定符。
我需要为这两种分辨率设置不同的布局和图像。
所以我创建了两个目录:
布局sw800dp-MDPI
布局sw800dp-HDPI
我认为每台设备都会根据最小的宽度和密度选择自己的目录。 但是他们都从同一个sw800dp-hdpi文件夹中获取资源!
我很困惑,不知道如何为这两种不同的分辨率分离资源。
非常感谢任何帮助。 提前谢谢。
答案 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,系统将使用相同的布局将正确的布局应用于每个设备。这些设备应具有相似的尺寸和方面......