同じアクティビティの layout-hdpi と layout-mdpi に 2 つのレイアウトがあります。これで、両方のレイアウトに 1 つのボタンがあり、このボタンをクリックすると、hdpi デバイス用の別のアクティビティと mdpi デバイス用の別の相対レイアウトを開く必要があります。
そのため、複数の画面サイズをサポートするために、ソース ファイル用に別のフォルダーを作成したいと考えています。
同じアクティビティの layout-hdpi と layout-mdpi に 2 つのレイアウトがあります。これで、両方のレイアウトに 1 つのボタンがあり、このボタンをクリックすると、hdpi デバイス用の別のアクティビティと mdpi デバイス用の別の相対レイアウトを開く必要があります。
そのため、複数の画面サイズをサポートするために、ソース ファイル用に別のフォルダーを作成したいと考えています。
フォルダーが異なると、パッケージが異なることを意味すると思います
コントローラー クラスを作成し、密度 (画面カテゴリ) 固有の Java クラスを呼び出すことを決定できる画面密度をプログラムで決定できます。
//Determine density and call the specific class as you want
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int density = metrics.densityDpi;
if (density==DisplayMetrics.DENSITY_HIGH) {
//call package1 classes for High Density devices
}
else if (density==DisplayMetrics.DENSITY_MEDIUM) {
//call package2 classes for Medium Density devices
}
else if (density==DisplayMetrics.DENSITY_LOW) {
//call package3 classes for Low Density devices
}
else {
//call package4 classes for rest
}
これは、デフォルトでAndroidが続くMVCモジュールに反しています。コントローラを定義するには、各アクティビティに対してのみ単一の Java ファイルで作業する必要があります。