gpt4 book ai didi

android - setRequestedOrientation 允许在 1 秒内旋转

转载 作者:搜寻专家 更新时间:2023-11-01 09:20:23 27 4
gpt4 key购买 nike

我目前正在开发一个 Android 应用程序,我想在其中:

  • 在智能手机上禁用旋转;
  • 在平板电脑上启用旋转。

为了做到这一点,我不能直接在 list 中设置旋转,所以我直接在 Activity 的 onCreate 方法中使用 setRequestedOrientation 方法。

它有效。但我有一个我无法涵盖的案例:

  1. 我在智能手机的纵向 MainActivity 上启动应用
  2. 我横向旋转智能手机( Activity 不旋转)
  3. 我点击一个按钮以启动 SecondActivity
  4. 新 Activity 以横向启动,然后旋转为纵向

有没有办法解决这个问题?有没有办法在智能手机上直接以纵向打开 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
}
}

list :

<?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)

关于android - setRequestedOrientation 允许在 1 秒内旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56447951/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com