应用不会 运行 横屏

App won't run in landscape

今天我开始尝试针对横向模式优化我的应用程序。但是我无法让我的应用程序在横向模式下进入 运行,我没有启用强制纵向模式的设置。

我以占位符屏幕为例。

我还仔细检查了我的 AVD 中的自动旋转是否启用。我在每个 AVD 上都有这个问题。

在我的清单中这样声明。

<activity
        android:name=".PlaceholderActivity"
        android:theme="@style/AppTheme.NoActionBar" />

我的布局是这样的。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background_material_light"
android:orientation="vertical"
android:animateLayoutChanges="true" >

<View
    android:id="@+id/icon"
    android:layout_width="350dp"
    android:layout_height="350dp"
    android:layout_centerInParent="true"
    android:background="@drawable/feedyr_full" />

<ProgressBar
    android:id="@+id/progress"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/icon"
    android:layout_centerHorizontal="true"
    android:visibility="visible" />

<include
    layout="@layout/helper_error"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/icon"
    android:layout_centerHorizontal="true" />

</RelativeLayout>

我的主题是这样的。

<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:colorButtonNormal">@color/colorAccent</item>

    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>

    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <item name="android:windowTranslucentStatus">true</item>
</style>

也没有什么是我的class强行画像

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

    config = FirebaseRemoteConfig.getInstance();
    model = Model.getInstance();
....

我错过了什么?

尝试将 activity 方向设置为 sensor :

<activity
    android:name=".PlaceholderActivity"
    android:theme="@style/AppTheme.NoActionBar" 
    android:orientation="sensor"/>

在您的 AndroidManifest 中

<activity
            android:name=".MainActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar" />

并在 MainActivity.java

public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        if (newConfig.orientation== Configuration.ORIENTATION_PORTRAIT)
        {

        }
        else  if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE)
        {

        }
    }

希望对您有所帮助

别问我为什么,横向模式突然就可以了。我按下了右侧菜单上的屏幕旋转按钮。当它回到横向时,它突然起作用了。以前做过所以不知道为什么它突然开始工作。

我没有更改我的代码、主题、清单或布局中的任何内容...