Макет меняется после включения эмулятора, но не устройства - PullRequest
0 голосов
/ 28 февраля 2019

Мне нужно показать 2 столбца в RecyclerView, когда ориентация портретная, и 4 столбца, если ориентация land.На эмуляторе работает правильно.

enter image description here

Это RecyclerView в портретной ориентации.

Включение эмулятора:

enter image description here

Как видите, есть кнопка обновления.И после нажатия на него мы видим 4 столбца на экране:

enter image description here

Но когда я запускаю проект на своем мобильном телефоне, кнопка обновления не появляется иЯ вижу 2 столбца в ориентации земли.

Вот часть моего кода:

@Override
public void onConfigurationChanged(Configuration newConfig){
    super.onConfigurationChanged(newConfig);
    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE){
        previewImages.setLayoutManager(new GridLayoutManager(this, 4));
    }
    else {
        previewImages.setLayoutManager(new GridLayoutManager(this, 2));
    }
}

И я добавил эту строку в манифест:

android:configChanges="orientation"

Итак, в чем проблема и как я могу ее решить

1 Ответ

0 голосов
/ 28 февраля 2019

вы можете изменить свой блок кода в методе onConfigurationChanged следующим образом.возможно может помочь.

new GridLayoutManager(context, 1, GridLayoutManager.HORIZONTAL, false)
...