原文转自:http://www.sunnyu.com/?p=223


在 ANDROID 程序中禁止屏幕旋转和避免重启ACTIVITY

禁止屏幕随手机旋转变化

有时候我们希望让一个程序的界面始终保持在一个方向,不随手机方向旋转而变化:
在AndroidManifest.xml的每一个需要禁止转向的Activity配置中加入android:screenOrientation=”landscape” 属性。

landscape = 横向portrait = 纵向

避免在转屏时重启ACTIVITY

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

if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){
  1.    //横向
  2.   setContentView (R. layout. file_list_landscape ) ;
  3. } else {
  4.    //竖向
  5.    setContentView (R. layout. file_list ) ;
  6. }

在模拟器中可以按 CTL+F11 模拟做屏幕旋转。

更多相关文章

  1. 〖Android〗屏幕触屏事件录制与回放
  2. android 自适应 多屏幕支持 .
  3. Android自适应不同屏幕
  4. Android权威官方屏幕适配全攻略
  5. Android 屏幕旋转(一):旋转设置
  6. 《论Android的发展方向(个人见解)》

随机推荐

  1. [置顶] Android曙光集群发来的邀请函
  2. Android(安卓)UI布局之LinearLayout
  3. ArcGIS API for Android(安卓)案例教程 1
  4. android实现自动对焦拍照
  5. Android应用程序与SurfaceFlinger服务的
  6. Android(安卓)Stagefright
  7. Android书籍分享
  8. RelativeLayout中常用属性解释
  9. 初识Android
  10. Android中R.java没有自动生成解决方案