横竖屏切换已经不是什么难的了,因为要适配手机横竖屏,所以特别研究了一下,再次系统的讲讲干货。主要是横竖屏切换,不重新创建activity。
第一步、在Manifest中给<activity>标签添加一下代码:
android:configChanges="orientation|keyboardHidden|screenSize"
通常你看到的是orientation|keyboardHidden|,经测试这三个值缺一不可。加了这个属性,在横竖屏的时候,系统就不会重新创建activity了,整体使用起来流畅很多。
第二步、在Activity实现一下方法:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
//横屏操作
onOrientationChanged(true);
}else{
//竖屏操作
onOrientationChanged(false);
}
}
当横竖屏切换时,系统会回调acitivity的这个方法。当然,fragment和activity是一样的。
总结
当页面简单,横竖屏UI差别不大的时候,建议使用该方案。如果UI变化太大,数据也差别很大,那么还是建议重新创建activity方案,毕竟需要适配的少了。