0

我正在两个非常不同的手机上测试我的应用程序:

Htc One X (running 4.1)
720x1280, density XHigh (320dpi)

Samnsung GT-S6500D running 2.3.6
320x480, density medium, (160dpi)

现在,如何确保每个设备使用不同的布局文件夹?我已经创建了 layout-sw720dp、layout-sw600dp、layout-normal、...

因为 2.3 没有考虑 layout-sw320dp,所以我猜它需要layout-normal,它确实如此,很好。

现在为什么大屏幕不占用 layout-sw720dp 文件夹?它也属于layout-normal>>为什么?

我用

    android:minSdkVersion="10"
    android:targetSdkVersion="17" 

并建立target = level 15 (4.0.3)

4

2 回答 2

2

获取屏幕分辨率并相应地转移它

    private final float LOW_LEVEL=0.75f;
    private final float MEDIUM_LEVEL=1.0f;
    private final float HIGH_LEVEL=1.5f;

    float level = getApplicationContext().getResources().getDisplayMetrics().density;
            if(level == LOW_LEVEL){
                    setContentView(R.layout.activity_login);
            }else if(level == MEDIUM_LEVEL){
                    //do smoothing here
                    setContentView(R.layout.activity_login);

            }else if(level == HIGH_LEVEL){
                    //do something here
                    setContentView(R.layout.activity_login);
            }else {
                    //do something here
                    setContentView(R.layout.activity_logins);
            }
于 2013-05-29T09:49:52.540 回答
0

我认为问题在于您使用了两种不同的布局分类。正常用作广义屏幕密度,为什么自 3.2 以来可用的布局基于最小屏幕尺寸。尝试删除正常密度布局,看看会发生什么。当然,您始终可以按照上述答案的建议从代码中扩充不同的布局。

于 2013-05-29T09:51:48.267 回答