何时调用View.onConfigurationChanged
?
如果显示它的Activity
未注册configChanges
中的任何Manifest
,是否可以调用它?
答案 0 :(得分:1)
以下是Google针对您提问的文档:
当您的活动正在运行时,设备配置发生变化时由系统调用。请注意,只有在清单中选择了要使用configChanges属性处理的配置时,才会调用此方法。如果发生任何未选择由该属性报告的配置更改,则系统将停止并重新启动活动(而不是使用新配置启动),而不是报告它。
正如您所看到的那样,如果您在清单中定义“configChanges”,它将只运行 。 的 Source 强>
答案 1 :(得分:-2)
更改屏幕方向时调用此方法。当屏幕方向为横向时,请执行此操作,当potrait执行此操作时,您可以如下所示进行定义。
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
}
}
请记住将它们放入Android清单:
<activity
android:configChanges=["orientation"]
. . .
</activity>