0

我需要在我的应用程序中为两个三星平板电脑放置不同的资源。600x1024 (Samsung Galaxy Tab 7in) 800x1280 (Samsung Galaxy Tab 8.9 in) 所以我在 res 文件夹中创建了两个不同的文件夹drawable-port (for 7 in) 和drawable-large-port (for 8.9in) 但两个设备都选择了drawable-large-port文件夹中的资源。

当我为两个设备运行 getResources().getConfiguration().screenLayout 时,输出结果为 SCREENLAYOUT_SIZE_LARGE

那么文件夹名称应该是什么,以便两个设备从不同的文件夹中选择资源。

谢谢纳林德

4

3 回答 3

0

这两个设备都是大屏幕,所以在这种情况下,当它们查看您的可绘制文件夹时,它们都在获取相同的资源。他们总是会去drawable-large-port进行纵向和drawable-large-land进行横向。

您可以通过为两个设备创建不同的布局来添加此功能,这两个设备以不同的方式使用drawable-large-port中的可绘制对象来利用不同大小的屏幕。您可以为布局定义不同的尺寸,如下所示:

res/layout-sw600dp/   // For 7” tablets (600dp wide and bigger)
res/layout-sw720dp/   // For 10” tablets (720dp wide and bigger)

您可以在http://developer.android.com/guide/practices/screens_support.html阅读有关处理不同尺寸屏幕/设备的更多信息

于 2012-07-20T14:06:05.930 回答
0

您可以使用以下方法测量屏幕宽度:

    Display display = getWindowManager().getDefaultDisplay(); 
    int width = display.getWidth();
    int height = display.getHeight();
    System.out.println("width :: "+width);
    System.out.println("height :: "+height);

然后你可以设置Drawable,使用宽度为:

if(width == 600)
    // set drawable-1
else if(width == 800)
    // set drawable-2
于 2012-07-20T14:10:38.620 回答
0

更好的结果将以下内容放入可绘制对象中

---------------- 手机 ------------------------

可绘制的 ldpi

可绘制的 mdpi

可绘制的 hdpi

----------------- 适用于 7 英寸平板电脑----------------

可绘制的大 mdpi

drawable-large-hdpi(适用于 Nexus 7)

---------------- 适用于 10 英寸平板电脑 ----------------

可绘制-xlarge-mdpi

于 2015-05-26T10:10:41.460 回答