アプリがすべての画面をサポートするように、さまざまなレイアウト用に 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」フォルダが表示されません。
プログラムでレイアウトを設定したい。誰かが私を助けることができれば、お願いします。