应用不会 运行 横屏
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)
{
}
}
希望对您有所帮助
别问我为什么,横向模式突然就可以了。我按下了右侧菜单上的屏幕旋转按钮。当它回到横向时,它突然起作用了。以前做过所以不知道为什么它突然开始工作。
我没有更改我的代码、主题、清单或布局中的任何内容...
今天我开始尝试针对横向模式优化我的应用程序。但是我无法让我的应用程序在横向模式下进入 运行,我没有启用强制纵向模式的设置。
我以占位符屏幕为例。
我还仔细检查了我的 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)
{
}
}
希望对您有所帮助
别问我为什么,横向模式突然就可以了。我按下了右侧菜单上的屏幕旋转按钮。当它回到横向时,它突然起作用了。以前做过所以不知道为什么它突然开始工作。
我没有更改我的代码、主题、清单或布局中的任何内容...