在Android开发中,Activity中的屏幕旋转不会切换纵向/横向布局的原因可能是在AndroidManifest.xml文件中的Activity标签中没有添加configChanges
属性,或者在Activity的代码中没有重写onConfigurationChanged
方法。
首先,在AndroidManifest.xml文件中的Activity标签中添加configChanges
属性,如下所示:
android:configChanges="keyboardHidden|orientation|screenSize|screenLayout">
</activity>
这里的configChanges
属性表示当键盘隐藏、屏幕方向、屏幕尺寸和屏幕布局发生变化时,不会重新创建Activity,而是调用onConfigurationChanged
方法。
接下来,在Activity的代码中重写onConfigurationChanged
方法,如下所示:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// 判断屏幕方向是否发生变化
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
// 横向布局
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
// 纵向布局
}
}
在onConfigurationChanged
方法中,可以根据屏幕方向的变化来动态更新布局。
最后,建议使用Android Studio开发工具,因为它提供了很多自动化的功能,可以帮助开发者更快地开发应用程序。
领取专属 10元无门槛券
手把手带您无忧上云