注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

倚天剑

青春要在奔跑中度过

 
 
 

日志

 
 
 
 

Android禁止横屏竖屏切换  

2013-03-29 12:24:03|  分类: 开发 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

在Android中要让一个程序的界面始终保持一个方向,不随手机方向转动而变化的办法: 只要在AndroidManifest.xml里面配置一下就可以了。在AndroidManifest.xml的activity(需要禁止转向的activity)配置中加入android:screenOrientation=”landscape”属性即可(landscape是横向,portrait是纵向)。例如:

 

 

  1. <application android:icon="@drawable/icon"   
  2.                  android:label="@string/app_name"   
  3.                  android:debuggable="true" >  
  4.           
  5.         <activity android:name="SmsActivity"  
  6.                   android:label="@string/app_name"   
  7.                    android:launchMode="singleTask"  
  8.                    android:screenOrientation="portrait"  
  9.                    android:taskAffinity="com.view.task" >  
  10.             <intent-filter>  
  11.                  <action android:name="android.intent.action.MAIN" />  
  12.                 <category android:name="android.intent.category.LAUNCHER" />  
  13.                 <category android:name="android.intent.category.DEFAULT"> </category>  
  14.             </intent-filter>  
  15.         </activity>  
  16. </application>  
 

 

另外,android中每次屏幕方向切换时都会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次Create的时候载入配置,那样,进行中的游戏就不会自动重启了!要避免在转屏时重启activity,可以通过在androidmanifest.xml文件中重新定义方向(给每个activity加上android:configChanges=”keyboardHidden|orientation”属性),并根据Activity的重写onConfigurationChanged(Configuration newConfig)方法来控制,这样在转屏时就不会重启activity了,而是会去调用onConfigurationChanged(Configuration newConfig)这个钩子方法。例如

  1. @Override    
  2.     public void onConfigurationChanged(Configuration newConfig) {    
  3.         try {    
  4.             super.onConfigurationChanged(newConfig);    
  5.             if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {    
  6.                 // land    
  7.             } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {    
  8.                 // port    
  9.             }    
  10.         } catch (Exception ex) {    
  11.         }    
  12.     
  13.     }    
 

 

  评论这张
 
阅读(219)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018