禁止横屏和竖屏切换,竖屏后横屏防止再次启动activity

来源:互联网 发布:网络电视pc客户端 编辑:程序博客网 时间:2024/06/07 05:10

在写程序时,往往会遇到这样一个问题,在竖屏输入一些内容后,再横屏。对应的内容变化了。其实这个问题就是activity重启了,所引起的。以下有:禁止横屏和竖屏切换,不妨了解下。

其实实现这个要求很简单,只要在
AndroidManifest.xml 里面加入这一行 android :screenOrientation="landscape "(landscape 是横向,portrait 是纵向)。
在android中每次屏幕的切换动会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次Create的时候载入配置。在activity加上android:configChanges="keyboardHidden|orientation"属性,就不会重启activity.而是去调用onConfigurationChanged(Configuration newConfig).这样就可以在这个方法里调整显示方式.

MainActivity中:

 

public void onConfigurationChanged(Configuration newConfig) {           try {               super.onConfigurationChanged(newConfig);               if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {                   Log.v("Himi", "onConfigurationChanged_ORIENTATION_LANDSCAPE");               } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {                   Log.v("Himi", "onConfigurationChanged_ORIENTATION_PORTRAIT");               }           } catch (Exception ex) {           }       }  
public void onConfigurationChanged(Configuration newConfig) {   try { super.onConfigurationChanged(newConfig); if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { Log.v("Himi", "onConfigurationChanged_ORIENTATION_LANDSCAPE"); } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { Log.v("Himi", "onConfigurationChanged_ORIENTATION_PORTRAIT"); } } catch (Exception ex) { } }   



 

 

 

原创粉丝点击