Both of these sizes pull from the same layout folder.
В Android макет был выбран на основе плотности устройств. Различная конфигурация экрана , например:
(ldpi) экранов (~ 120 точек на дюйм).
(мдпи) экранов (~ 160 т / д).
(hdpi) экранов (~ 240 точек на дюйм).
(xhdpi) экранов (~ 320 точек на дюйм).
Оба 960x540 и 854x480 попадают в макет hdpi , поэтому вы получаете одинаковый макет для обоих.
Чтобы решить эту проблему, для получения подходящего пользовательского интерфейса для обеих спецификаций создайте отдельный XML для обоих внутри макет hdpi ,например: 960_540.xml и 854_480.xml
В поле «Активность» проверьте размер экрана устройства, чтобы установить соответствующий ContentView
. Размер экрана можно получить с помощью Показывать метрики нижеКод:
Display display = getWindowManager().getDefaultDisplay();
screenWidth = display.getWidth();
screenHeight = display.getHeight();
dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
String str_ScreenSize = dm.widthPixels + " x " + dm.heightPixels;
str_ScreenSize = "dd" + " x " + dm.heightPixels;
if(screenHeight==854 & screenwidth==480){
setContentView(R.layout.854_480);
}
else if(screenHeight==960 && screenwidth==540){
setContentView(R.layout.960_540);
}