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

1.设置Activity方向

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

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

landscape:横向

portrait:纵向

 

2.检测屏幕变化方向

重写onConfigurationChanged方法

[Android学习笔记]设置Activity方向
@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方向,布布扣,bubuko.com

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

上一篇:Android 中即时聊天或者后台任务需要发送消息的一种解决方案.


下一篇:android 文件上传,中文utf-8编码