0

sizeではなく、画面解像度に基づいて特定の xml-layouts を使用する必要があります。したがって、最初のデザインは解像度 <= 480x800 に使用され、2 番目のデザインは解像度 >= 480x800 に使用されます。

それはどのように行われますか?

アップデート。

私は思いついた

    Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
    final int height = display.getHeight();
    final int width = display.getWidth();



    int leadingResolutionSize = Math.max(height, width);
    if(leadingResolutionSize <= 800){
        setContentView(R.layout.main);
    }else if(leadingResolutionSize > 800 && leadingResolutionSize <= 1024){
        setContentView(R.layout.main_1024_600);
    }else if(leadingResolutionSize > 1024){
        setContentView(R.layout.main_1280_800);
    }

それは良い解決策だと思いますか?

4

2 に答える 2

0

layoutプロジェクトのフォルダーには、モード用にデフォルトで設計できるxmlファイルが含まれていPORTRAITます(この場合は480 * 800です)。Mode.Inが必要な場合はLANDSCAPE、同じようにlayout-land(つまり 800*480) という名前の別のフォルダーを宣言し、レイアウト xml ファイルをそのフォルダーに保存し、要件に基づいてそれらのファイルを変更します。

于 2012-06-01T10:02:00.127 に答える