您的位置:首页 > 移动开发 > Android开发

onConfigurationChanged需要主要的问题

2016-05-09 10:37 447 查看
首先在配置文件中指明监听的变化:android:configChanges="orientation|screenSize"

之后在activity中重写

public void onConfigurationChanged(Configuration newConfig) {

        // TODO Auto-generated method stub

        super.onConfigurationChanged(newConfig);

        Log.e(tag, "onConfigurationChanged");

        if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){

//            this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

            Log.e(tag, "橫屏");

        }else{

//            this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

            Log.e(tag, "竖屏");

        }

    }

Configuration configuration=getResources().getConfiguration();

            if(configuration.orientation==Configuration.ORIENTATION_LANDSCAPE){

                this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

            }else{

                this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

            }

需要注意的是:android:targetSdkVersion="12"以及以下,android:configChanges="orientation"就可以回调

在大于12时,android:configChanges="orientation|screenSize"才可以回调。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android