android - setRequestedOrientation 允许在 1 秒内旋转
问题描述
我目前正在开发一个我想要的 Android 应用程序:
- 禁用智能手机上的旋转;
- 在平板电脑上启用旋转。
为了做到这一点,我不能将旋转直接设置到清单中,所以我setRequestedOrientation
直接使用该方法到onCreate
我的活动方法中。
有用。但我有一个无法涵盖的案例:
- 我
MainActivity
在智能手机的纵向上启动应用程序 - 我横向旋转智能手机(活动不旋转)
- 我单击一个按钮以启动
SecondActivity
- 新活动以横向启动,然后旋转为纵向
有没有办法覆盖这种情况?有没有办法SecondActivity
在没有这种旋转的情况下直接在智能手机上以纵向打开?
这是一个非常简单的示例中的一些代码:
MainActivity
: _
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
button?.setOnClickListener {
startActivity(Intent(this, SecondActivity::class.java))
}
}
}
SecondActivity
: _
class SecondActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_second)
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
}
}
清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.myapplication">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name=".SecondActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
/>
</application>
</manifest>
预先感谢您的帮助。
解决方案
Yes set the orientation before setContentView
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
setContentView(R.layout.activity_second)
推荐阅读
- flutter - 更改应用程序语言颤动后如何更改页面内容的方向
- ios - 从一个 ViewController 导航到具有不同 Storyboard 的新 ViewController
- r - 获取逗号前后字符串中数字的平均值
- material-ui - 将部分文本作为链接- Next.JS 和 Material UI
- angular - 如何在Angular 9的输入字段中显示json外部api?
- php - 使用 php8 安装新的 laravel 项目时出错?
- python - pygame.font.SysFont() 在 macOS 上大约需要 5 秒
- c# - c#中的gpg命令行编译为服务,不起作用
- python - Python订单列表基于带有dict的嵌套列表的键,嵌套在带有dict的列表中
- java - 为什么 Joshua Bloch 在 Effective Java 中使用 2*size + 1 来调整堆栈的大小?