我在Manifest文件中加android:screenOrientation="portrait"禁止了android系统横竖屏切换,但它仍然可以感知横竖屏的切换过程,切换的时候仍然会执行onCreate函数,只是仍然使用竖屏时的布局,有没有办法让它切换的时候不执行onCreate函数。谢谢啦~~

解决方案 »

  1.   

    在Mainifest.xml的Activity元素中加入android:configChanges="orientation|keyboardHidden"属性,再重写onConfigurationChanged方法@Override
    public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    // 检测屏幕的方向:纵向或横向
    if (this.getResources().getConfiguration().orientation 
    == Configuration.ORIENTATION_LANDSCAPE) {
    //当前为横屏, 在此处添加额外的处理代码
    }
    else if (this.getResources().getConfiguration().orientation 
    == Configuration.ORIENTATION_PORTRAIT) {
    //当前为竖屏, 在此处添加额外的处理代码
    }
    //检测实体键盘的状态:推出或者合上    
    if (newConfig.hardKeyboardHidden 
    == Configuration.HARDKEYBOARDHIDDEN_NO){ 
    //实体键盘处于推出状态,在此处添加额外的处理代码

    else if (newConfig.hardKeyboardHidden
    == Configuration.HARDKEYBOARDHIDDEN_YES){ 
    //实体键盘处于合上状态,在此处添加额外的处理代码
    }
    }
      

  2.   

    在androidmanifest.xml 配置
    android:configChanges="orientation|keyboardHidden|navigation"
    试试
      

  3.   

    http://blog.csdn.net/muyu114/archive/2011/04/20/6334875.aspx
      

  4.   

    加了就不会啊    <activity android:configChanges="keyboardHidden|orientation"
            android:noHistory="true"
            android:name=".client.android.ui.me.AddCommunityActivity"
            android:screenOrientation="portrait">
        </activity>这是我的,楼主试试呢。
      

  5.   


    AndroidManifest.xml 中添加 android:configChanges="orientation|keyboardHidden"
    就可以不调用onCreat()希望可以帮助到你噢 。