在Android中要让一个程序的界面始终保持一个方向,不随手机方向转动而变化的办法: 只要在AndroidManifest.xml里面配置一下就可以了。

在AndroidManifest.xml的activity(需要禁止转向的activity)配置中加入android:screenOrientation=”landscape”属性即可(landscape是横向,portrait是纵向)。例如:

[html] view plain copy
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <manifestxmlns:android="http://schemas.android.com/apk/res/android"
  3. package="com.ray.linkit"
  4. android:versionCode="1"
  5. android:versionName="1.0">
  6. <applicationandroid:icon="@drawable/icon"android:label="@string/app_name">
  7. <activityandroid:name=".Main"
  8. android:label="@string/app_name"
  9. android:screenOrientation="portrait">
  10. <intent-filter>
  11. <actionandroid:name="android.intent.action.MAIN"/>
  12. <categoryandroid:name="android.intent.category.LAUNCHER"/>
  13. </intent-filter>
  14. </activity>
  15. <activityandroid:name=".GamePlay"
  16. android:screenOrientation="portrait"></activity>
  17. <activityandroid:name=".OptionView"
  18. android:screenOrientation="portrait"></activity>
  19. </application>
  20. <uses-sdkandroid:minSdkVersion="3"/>
  21. </manifest>


另外,android中每次屏幕方向切换时都会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次Create的时候载入配置,那样,进行中的游戏就不会自动重启了!

要避免在转屏时重启activity,可以通过在androidmanifest.xml文件中重新定义方向(给每个activity加上android:configChanges=”keyboardHidden|orientation”属性),并根据Activity的重写onConfigurationChanged(Configuration newConfig)方法来控制,这样在转屏时就不会重启activity了,而是会去调用onConfigurationChanged(Configuration newConfig)这个钩子方法。例如:

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

在模拟器中,要使程序转屏可以使用快捷键F12或Ctrl+F11来切换。当然在用命令行启动模拟器时可以直接使用参数emulator.exe -skin HVGA-L来启动横屏的程序。

更多相关文章

  1. Android中去除标题,全屏,获得屏幕方向及键盘状态
  2. android:gravity和andrid:layout_gravity
  3. Android(安卓)build.prop生成过程
  4. Android(安卓)软键盘弹出时布局位置改变
  5. android view的xml属性
  6. 修改Android系统属性SystemProperties.set("sys.powerctl", "shu
  7. android TextView多行文本(超过3行)使用ellipsize属性无效问题的
  8. Android(安卓)绑定数据到界面控件
  9. Android(安卓)Animation 框架

随机推荐

  1. Android(安卓)耳机系统综述
  2. Android调用so文件(C代码库)方法详解
  3. Android应用程序绑定服务(bindService)的过
  4. android 文件夹的命名和作用,屏幕适配很有
  5. Android分辨率适配心得
  6. Android(安卓)图片缓存处理
  7. Android(安卓)Android自定义的下拉列表框
  8. android: Handler概念理解与运用
  9. Android黑群出品:对pull进行封装,可直接解
  10. Android下的数据储存方式( 二)