我有一个包含两个布局文件的活动,一个用于纵向和横向模式。我看到每次更改方向时都会调用 onCreate 方法。我尝试使用
android:configChanges = "orientation"
在清单文件中,但它只读取纵向布局。有没有一种方法可以在不调用 onCreate 的情况下将布局设置为横向模式?
我有一个包含两个布局文件的活动,一个用于纵向和横向模式。我看到每次更改方向时都会调用 onCreate 方法。我尝试使用
android:configChanges = "orientation"
在清单文件中,但它只读取纵向布局。有没有一种方法可以在不调用 onCreate 的情况下将布局设置为横向模式?
如果你使用android:configChanges = "orientation"
,你必须重写你的onConfigurationChanged(...)
方法Activity
。检查newConfig
新方向的参数,然后手动设置所需的布局。
请参阅以下链接:
您可以创建两个布局文件夹。一种用于纵向模式,一种用于横向模式。布局和布局土地。
这是 android 的生活事实。您需要围绕这样一个事实来开发您的活动,因为它可能会由于屏幕方向更改等配置更改而随时被销毁。保存所有用于在暂停时构建屏幕的信息并在 onCreate 中重新创建它。
如果您希望您的活动仅处于横向模式,您可以在 AndroidManifest.xml 中为活动设置此属性:
android:screenOrientation="landscape"
您可以将 layout.xml 文件放在这样的文件夹中以适应不同的屏幕方向: