gpt4 book ai didi

java - 适用于不同方向 Android 的新 Activity

转载 作者:行者123 更新时间:2023-12-01 15:23:39 25 4
gpt4 key购买 nike

我知道我可以在我的 res/文件夹中创建一个名为layout-land 的文件夹,Android 会自动处理这个问题。我的问题是,当我的方向从纵向变为横向时,如果我想调用新的 Activity 该怎么办?

我有:

  • 由按钮和 ScrollView 组成的纵向 xml 文件
  • 包含多个按钮、 TextView 、并编辑文本
  • 两者都称为 main.xml(但位于各自的文件夹中)
  • 一个调用 setContentView(main.xml) 的 Activity

但是,此 Activity 必须初始化所有按钮、 TextView 等,但是当我将方向更改回纵向时,它会强制关闭,因为这些按钮不在该 xml 文件中!

我该如何解决这个问题?

最佳答案

尝试使用getResources().getConfiguration().orientation来检查当前方向。因此,当您倾斜设备时,您可以避免膨胀错误的资源。

-> http://developer.android.com/reference/android/content/res/Configuration.html#orientation

另一种(但不好!)方法可能是覆盖onConfigurationChanged,这样您的土地布局就不会被使用,并且您可以在倾斜时插入另一个 Activity 。就像:

@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
//push new activity via intent
}

但我不会向你推荐这个。尝试第一种方法,然后告诉我这是否适合您。 ;)

关于java - 适用于不同方向 Android 的新 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10499025/

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