0

アプリがすべての画面をサポートするように、さまざまなレイアウト用に 4 つのフォルダーを作成しました。layout(By Default)、layout-large、layout-small、layout-xlarge の 4 つのフォルダーを作成しました。それらすべての中に、同じ名前の "activity_start.xml" を持つ xml ファイルを配置しました。ここで、startActivity.java で次のコードを使用して、プログラムでレイアウトを設定したいと考えています。

DisplayMetrics displayMetrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);

    switch(displayMetrics.densityDpi)
    { 
        case DisplayMetrics.DENSITY_LOW:

            // layout for small sized devices.

            break; 

        case DisplayMetrics.DENSITY_MEDIUM: 

            // layout for medium-sized devices.
            setContentView(R.layout.activity_start);
            break; 

        case DisplayMetrics.DENSITY_HIGH: 

            // layout for big-sized devices.
            setContentView(R.layout-large.activity_start);//<----------- syntax error in this line
            break; 
    }

DisplayMetrics.DENSITY_MEDIUMの場合、コードは正しいです(推測します)が、 DisplayMetrics.DENSITY_HIGHの setContentView を実行すると、作成したフォルダー(レイアウト大)が取得されません。

つまり、setContentView の引数を入力して R.lay...(ctrl+space を押す) と入力すると、「layout-large」フォルダが表示されません。

プログラムでレイアウトを設定したい。誰かが私を助けることができれば、お願いします。

4

1 に答える 1