横竖屏切换(转)

横竖屏切换(转)

博客分类:
 
摘一: 
在开发游戏的时候,有些游戏是只能横屏玩的,所以手机竖立放置的时候,要保持游戏画面依然横屏。游戏开发之初最好就确定是用横屏还是竖屏,如果容忍转屏的话,不仅需要作两种界面布局,而且横竖屏切换很可能会内存溢出,导致程序崩溃。(文/jackliao) 

要做到这个要求其实很简单,在AndroidManifest.xml里面配置一下就可以了。加入这一行 
强制竖屏: 
Java代码  收藏代码
  1. android:screenOrientation="landscape"  


或者在代码中: 

Java代码  收藏代码
  1. setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);  


强制横屏: 
Java代码  收藏代码
  1. android:screenOrientation="portrait"  


或者在代码中: 

Java代码  收藏代码
  1. setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);  



摘二: 
xml文件中设置: 

  要实现这个目的,只需要在AndroidManifest.xml里声明Activity的时候加上一个属性:android:screenOrientation,属性取值landscape为固定横屏、portrait为固定纵屏幕。 

  代码: 

  setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE););//强制为横屏 

  setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//竖屏 

  ============延伸======== 

  屏幕会自动切换时,默认状态的应用程序,会重新调用onCreate,相当于重新启动了一次应用程序。同时,layout可能因为横屏带来不能合理适配的问题。为了解决旋屏和键盘切换引起的程序重启问题,还需要增加一个属性:android:configChanges。这个属性可以理解为一个监听器,它将拦截旋屏和键盘切换事件,阻止程序重启而变为回调onConfigurationChanged方法。这里常用的属性取值为:keyboardHidden|orientation。 


摘三: 
Android 设置横屏模式显示,横屏模式大部分情况能弥补竖屏的不足——字体小、键盘小、画幅比例不合适,而且横屏模式下能提供更华丽、更流畅的感官体验,android 横屏,android landscape mode ,android 强制横屏,android 强制竖屏,android 横屏布局,android 设置全屏模式,android 横屏切换,android 设置横屏。 

有些游戏只能横屏,所以手机竖立放置的时候,要保持游戏画面依然横屏,对于屏幕界面布局,在游戏开发之初最好先确定是用横屏还是竖屏,如果容忍转屏的话,不仅需要作两种界面布局,而且横竖屏切换很可能会内存溢出,导致程序崩溃。 

Android 设置横屏布局 

1、AndroidManifest.xml 设置属性: 
Java代码  收藏代码
  1. android:screenOrientation="landscape"  
  2. android:configChanges="orientation|keyboardHidden"  


代码中设置: 
Java代码  收藏代码
  1. requestWindowFeature(Window.FEATURE_NO_TITLE);  
  2. getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);  


2、设置为全屏模式: 
Java代码  收藏代码
  1. getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);  


3、强制为横屏: 
Java代码  收藏代码
  1. setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);  


4、强制为竖屏 
Java代码  收藏代码
  1. setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);  
posted @ 2012-03-01 10:30  wanqi  阅读(2740)  评论(0编辑  收藏  举报