如何在横向模式下显示 android 启动画面?
Posted
技术标签:
【中文标题】如何在横向模式下显示 android 启动画面?【英文标题】:How to show android splash screen in landscape mode? 【发布时间】:2020-04-01 19:23:38 【问题描述】:我正在开发一个 android 应用程序,并希望在系统加载应用程序时以横向模式显示启动画面。
我制作了一个小型测试应用程序来重现该问题,并看到它实际上在纵向模式下工作,但是当我将这行 android:screenOrientation="sensorLandscape"
添加到我的清单时,它突然不再工作了。它不显示任何启动屏幕,好像属性windowPreviewDisabled
设置为true。
有谁知道我做错了什么?
我的清单:
<activity android:name=".MainActivity" android:theme="@style/AppTheme.Launcher" android:screenOrientation="sensorLandscape" android:launchMode="singleTask" android:configChanges="keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.
</intent-filter>
</activity>
样式 xml:
<style name="AppTheme.Launcher" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:windowBackground">@layout/launch_screen</item>
</style>
启动屏幕 xml(位于 layout-land
文件夹内):
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:opacity="opaque">
<item android:drawable="@android:color/black"/>
<item>
<bitmap
android:src="@drawable/logo2"
android:gravity="center"/>
</item>
</layer-list>
【问题讨论】:
【参考方案1】:也许你可以添加setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
在 setContentView 方法之后的活动中。
【讨论】:
这就是我现在正在做的事情。我基本上从纵向模式开始,然后在onCreate
切换到横向模式。仍然不确定为什么它在横向模式下不起作用。
奇怪的是这不起作用。您是否尝试以编程方式设置布局?像这样:if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) createHorizontalalLayout(); else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) createVerticalLayout();
以上是关于如何在横向模式下显示 android 启动画面?的主要内容,如果未能解决你的问题,请参考以下文章
Worklight Cordova 应用程序启动画面在应用程序启动期间旋转