Запобігання моїй діяльності змінювати орієнтацію в залежності від її змісту

У моєму додатку MainActivity міститься BottomNavigation , тому він може відображати різні вкладки. Тепер мій намір був, щоб змусити деяких з них залишитися в портретній орієнтації, незалежно від того, як користувач тримає пристрій.

MainActivity.java:

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    BottomNavigationView bottomNav = findViewById(R.id.bottom_navigation);
    bottomNav.setOnNavigationItemSelectedListener(navListener);
    getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new OverviewFragment()).commit();
}

private BottomNavigationView.OnNavigationItemSelectedListener navListener =
        new BottomNavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(@NonNull MenuItem item) {
                Fragment selectedFragment = null;

                switch (item.getItemId()) {
                    case R.id.nav_overview:
                        selectedFragment = new OverviewFragment();
                        break;
                    case R.id.nav_reports:
                        selectedFragment = new ReportsFragment();
                        break;
                    case R.id.nav_settings:
                        selectedFragment = new SettingsFragment();
                        break;
                }
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, selectedFragment).commit();
                return true;
            }
        };

}

activity_main.xml






Принаймні одна вкладка має відображатися в портретному режимі в альбомному режимі. Чи потрібно мені додавати деякі матеріали до XML-файлу або робити яку-небудь Java-магію? Спасибі заздалегідь!

0
додано Автор Lord Flash, джерело
Чи можете ви показати необхідний інтерфейс користувача, незрозуміло, що ви пояснюєте.
додано Автор Khemraj, джерело

5 Відповіді

Щоб встановити орієнтацію, просто додайте screenOrientation у свій маніфест у тезі активності

, щоб встановити орієнтацію - портрет

  

для встановлення орієнтації - пейзаж

  

Або ви можете зробити це програмним шляхом, використовуючи код нижче: -

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
2
додано

Ви можете встановити screenOrientation у manifest.xml .


Ця активність залишатиметься завжди portrait .

Якщо вам це потрібно програмно, ви можете скористатися цим.

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

Edit If i understood right, you want make different layout for different orientation.

Потім створіть каталог layout-land і розмістіть XML-макет ландшафту   файлу в цьому каталозі.

2
додано
Див. Редаговану відповідь.
додано Автор Khemraj, джерело
Чи можна показати потрібний інтерфейс виводу для ландшафтної версії.
додано Автор Khemraj, джерело
Я все ще не можу отримати вашу точку зору. Повідомте мене, якщо ваша проблема вирішена.
додано Автор Khemraj, джерело
Я вже знав це, але колючий камінь полягає в тому, що принаймні одне з моїх вкладок (які є фрагментами і вони насправді не мають орієнтації) повинні бути здатні відображатися в пейзажі.
додано Автор Procra, джерело
Це також станеться, але, по-перше, мої інші вкладки повинні припинити обертання.
додано Автор Procra, джерело
не зараз я здогадуюсь, там досі надто багато області будівництва, я буду чистити це та утворюю другий layout для ландшафтного режиму.
додано Автор Procra, джерело

Помістіть ці рядки в Маніфест, щоб орієнтація екрана становила портрет .

 
0
додано

Додайте цей рядок у тег activity у файлі Manifest файлу android: screenOrientation = "портрет" . як нижче,


0
додано

Just Use this line with that activity you want to use in portrait mode in manifest.xml

 android:screenOrientation="portrait"

подобається це


0
додано
android_jobs_ua
android_jobs_ua
120 учасників

Публикуем вакансии и запросы на поиск работы по направлению Android. Здесь всё: full-time, part-time, remote и разовые подработки.

Mobile Dev Jobs UA
Mobile Dev Jobs UA
20 учасників

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin, RN и т.д.