android 横竖屏切换经验总结

横竖屏切换已经不是什么难的了,因为要适配手机横竖屏,所以特别研究了一下,再次系统的讲讲干货。主要是横竖屏切换,不重新创建activity。

第一步、在Manifest中给标签添加一下代码:

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方案,毕竟需要适配的少了。

你可能感兴趣的:(android 横竖屏切换经验总结)