Android横竖屏切换小结

来源:互联网 发布:广州淘宝模特培训 编辑:程序博客网 时间:2024/05/18 02:46
一、重启Activity的横竖屏切换
Adnroid 3.2以后的SDK
1、android:configChanges="orientation|keyboardHidden"

生命周期执行顺序:

//未执行切换屏幕

onCreate(Bundle savedInstanceState)

onStart()

onResume()

//开始执行切换屏幕
onConfigurationChanged (Configuration newConfig)

onPause()

onSaveInstanceState(Bundle outState)

onStop()

onDestroy()

onCreate(Bundle savedInstanceState)

onStart()

onRestoreInstanceState(Bundle savedInstanceState)

onResume()
//执行切换屏幕到恢复显示正常

//开始执行finish()方法
onPause()

onStop()

onDestroy()


2、android:configChanges="....."不在AndroidManifest.xml注入,不会执行onConfigurationChanged (Configuration newConfig)方法


//未执行切换屏幕
onCreate(Bundle savedInstanceState)

onStart()

onResume()

//开始执行切换屏幕
onPause()

onSaveInstanceState(Bundle outState)

onStop()

onDestroy()

onCreate(Bundle savedInstanceState)

onStart()

onRestoreInstanceState(Bundle savedInstanceState)

onResume()
//执行切换屏幕到恢复显示正常

//开始执行finish()方法
onPause()

onStop()

onDestroy()


二、非重启Activity的横竖屏切换

Andorid 3.2以前的SDK可以使用如下配置
1、android:configChanges="orientation|keyboardHidden"
而Adnroid 3.2以后的SDK必须添加一个screenSize属性,具体如下
3、android:configChanges="orientation|screenSize"
4、android:configChanges="keyboardHidden|orientation|screenSize"

生命周期执行顺序:
//未执行切换屏幕
onCreate(Bundle savedInstanceState)

onStart()

onResume()

//开始执行切换屏幕
onConfigurationChanged (Configuration newConfig)

//开始执行finish()方法
onPause()

onStop()

onDestroy()


参考代码区域:


    @Override
    public void onConfigurationChanged (Configuration newConfig){


    super.onConfigurationChanged(newConfig);
    int mCurrentOrientation = getResources().getConfiguration().orientation;
    if ( mCurrentOrientation == Configuration.ORIENTATION_PORTRAIT ) {
// If current screen is portrait
// ......
    } else if ( mCurrentOrientation == Configuration.ORIENTATION_LANDSCAPE ) {
        //If current screen is landscape
// ......
    }


    //屏幕横竖屏切换
    private void changeScreem(){
if(isScreenPortrait()){
//切换至横屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}else {
//切换至竖屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}

    }



Android横竖屏切换小结    https://www.cnblogs.com/franksunny/p/3714442.html

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 别人说我情商低怎么办 情商低的人该怎么办 遇到情商低的人怎么办 情商很低的人怎么办 想做出纳没经验怎么办 天眼查的评分低怎么办 牛角梳味道太重怎么办 刷脸认证老失败怎么办 苹果6s字库坏了怎么办 颈椎受凉了很疼怎么办 怀孕了颈椎犯了怎么办 签完协议后悔了怎么办 车秘油耗的数据怎么办 压铸铝模具粘模怎么办 微信红包未退回怎么办 已买的股票配股怎么办 去哪儿网不退款怎么办 专硕学费太贵怎么办 学生饭卡消磁了怎么办 饭卡消磁了钱怎么办 专升本没考上怎么办 平板激活码忘了怎么办 北京买车被骗了怎么办 汽车电池没电了怎么办 汽车完全没电了怎么办 自动挡车没电了怎么办 车缺电打不着火怎么办 车子电脑板坏了怎么办 汽车电脑板坏了怎么办? 小车三角臂坏了怎么办 贵阳摇号中签后怎么办 版面费发票丢了怎么办 当被实名举报了怎么办 玩游戏手老出汗怎么办 智慧树密码忘了怎么办 汽车还完贷款后怎么办 魅蓝note5耗电快怎么办 电脑开机键坏了怎么办 机箱开机键坏了怎么办 起诉后被告不来怎么办 40岁头发全白了怎么办