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

<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true" > <activity android:name="SmsActivity" android:label="@string/app_name" android:launchMode="singleTask" android:screenOrientation="portrait" android:taskAffinity="com.view.task" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.DEFAULT"> </category> </intent-filter> </activity> </application>

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

@Override public void onConfigurationChanged(Configuration newConfig) { try { super.onConfigurationChanged(newConfig); if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { // land } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { // port } } catch (Exception ex) { } }

更多相关文章

  1. RelativieLayout布局中的android:gravity="center"属性
  2. Android(安卓)Layout.xml布局属性
  3. android:configChanges属性
  4. Android(安卓)ApiDemos示例解析(105):Views->Buttons
  5. android 属性汇总
  6. 【Android(安卓)UI设计与开发】之动画(Animation)详解(一)
  7. 【Android】Android(安卓)UI 开发_问答_3
  8. Android(安卓)TextView属性详解
  9. android 虚拟键盘遮挡布局 顶起布局

随机推荐

  1. Android(安卓)Service和IntentService知
  2. WKWebView的JS与Native的交互,适配iOS和an
  3. android 异步加载图片缩略图
  4. Android(安卓)ProgressBar 自定义动画
  5. Android获取屏幕分辨率及DisplayMetrics
  6. Android中如何判断sd卡容量是否小于某值
  7. Android(安卓)Studio 在命令行编译工程
  8. Android开发入门之拨打电话
  9. Android的LocalSocket实现及SELinux权限
  10. lion下安装android