[Android学习笔记]设置Activity方向

1.设置Activity方向

在AndroidMainfest.xml里设置Activity默认方向

<activity android:name=".myActivity"
             android:label="@string/app_name"
             android:screenOrientation="portrait" />

landscape:横向

portrait:纵向

 

2.检测屏幕变化方向

重写onConfigurationChanged方法

@Override
    public void onConfigurationChanged(Configuration newConfig) {
        // TODO Auto-generated method stub
        super.onConfigurationChanged(newConfig);
        
        //竖屏
        if(getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)
        {
            //改为横屏
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        }
        //横屏
        else if(getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
        {
            //改为竖屏
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        }
    }
onConfigurationChanged

每次旋转屏幕,Activity都会重新绘制页面,Activity重走一次生命周期。

 

3.阻止方向变化重新创建Activity

在AndroidMainfest.xml里设置

android:configChanges="orientation|keyboardHidden"

这样,方向变换就不会重新创建此Activity

[Android学习笔记]设置Activity方向,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。