Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

landscape mode not working in Android Studio Emulator?

The following sample is from the project https://github.com/googlecodelabs/android-navigation, and layout file is from https://github.com/googlecodelabs/android-navigation/tree/master/app/src/main/res

I test it in Android Studio Emulator with both portrait and landscape mode, you can see the result at A1.png and A2.png.

It seems that landscape mode doesn't work in Android Studio Emulator.

I test the same code in real mobile phone, you can see the result at B1.png and B2.png

The landscape mode works well in real mobile phone, what problem with Android Studio Emulator when I use landscape mode?

BTW, I have read the article Switching to landscape mode in Android Emulator

navigation_activity.xml

<androidx.drawerlayout.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.android.codelabs.navigation.MainActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <androidx.appcompat.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/colorPrimary"
            android:theme="@style/ThemeOverlay.MaterialComponents.Dark.ActionBar" />

        <fragment
            android:id="@+id/my_nav_host_fragment"
            android:name="androidx.navigation.fragment.NavHostFragment"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:defaultNavHost="true"
            app:navGraph="@navigation/mobile_navigation" />
    </LinearLayout>

    <com.google.android.material.navigation.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        app:menu="@menu/nav_drawer_menu" />

</androidx.drawerlayout.widget.DrawerLayout>

navigation_activity.xml (h470dp)

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.android.codelabs.navigation.MainActivity">

    <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/colorPrimary"
        android:theme="@style/ThemeOverlay.MaterialComponents.Dark.ActionBar" />

    <fragment
        android:id="@+id/my_nav_host_fragment"
        android:name="androidx.navigation.fragment.NavHostFragment"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        app:defaultNavHost="true"
        app:navGraph="@navigation/mobile_navigation" />

    <com.google.android.material.bottomnavigation.BottomNavigationView
        android:id="@+id/bottom_nav_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:menu="@menu/bottom_nav_menu" />
</LinearLayout>

navigation_activity.xml (w960dp)

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.android.codelabs.navigation.MainActivity">

    <com.google.android.material.navigation.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_alignParentStart="true"
        app:elevation="0dp"
        app:headerLayout="@layout/nav_view_header"
        app:menu="@menu/nav_drawer_menu" />

    <View
        android:layout_width="1dp"
        android:layout_height="match_parent"
        android:layout_toEndOf="@id/nav_view"
        android:background="?android:attr/listDivider" />

    <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toEndOf="@id/nav_view"
        android:background="@color/colorPrimary"
        android:theme="@style/ThemeOverlay.MaterialComponents.Dark.ActionBar" />

    <fragment
        android:id="@+id/my_nav_host_fragment"
        android:name="androidx.navigation.fragment.NavHostFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/toolbar"
        android:layout_toEndOf="@id/nav_view"
        app:defaultNavHost="true"
        app:navGraph="@navigation/mobile_navigation" />
</RelativeLayout>

A1.png

enter image description here

A2.png

enter image description here

B1.png

enter image description here

B2.png

enter image description here

Added Content

To No Name: Thanks!

I test by your way, it seems that the emulator with landscape mode in Android Studio 3.5 doesn't work well yet.

The menu icon in real mobile phone with landscape mode isn't displayed in the emulator with landscape mode, you can see C1.png, why? and B2.png is real mobile phone with landscape mode

C1.png enter image description here

like image 651
HelloCW Avatar asked Sep 06 '19 07:09

HelloCW


People also ask

How do you rotate an emulator?

Use Ctrl + F11 . This will rotate your emulator.


1 Answers

Because you need to set also the rotation inside the device in the bottom right part after you click the rotation left/ rotation right in the emulator control.

Before

enter image description here

after enter image description here

like image 52
No Name Avatar answered Sep 22 '22 13:09

No Name