Android 手机切屏事件

当屏幕变为横屏的时候,系统会重新呼叫当前Activity的OnCreate方法,你可以把以下方法放在你的OnCreate中来检查当前的方向,然后可以让你的SetContentView来载入不同的Layout xml.
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
System.out.println("landscape........");
RelativeLayout layout = (RelativeLayout)findViewById(R.id.RelativeLayout01);
layout.
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
System.out.println("portrait..........");
}
关于屏幕切换
首先需要在androidmanifest.xml中加入配置
android:configChanges="orientation|keyboardHidden|navigation
这样在程序中. Activity就不会重复的调用onCreate()
甚至不会调用onPause.onResume.
只会调用一个onConfigurationChanged(Configuration newConfig)

这是在XML加入配置选项的前提下,如果在不加入选项的情况下。如上所述, Activity会重新激活onCreate方法。
根据你自己的需求来选择配置改变时的处理机制这样比较好一点。

关于屏幕显示方向,在AndroidManifest.xml里面配置一下就可以了。
android:screenOrientation="landscape" 代表横向
android:screenOrientation="portrait" 代表纵向
不加这一行就代表自动

添加的具体位置是在<activity ...
android:screenOrientation="landscape" >

下面解释一下android:configChanges的值:
设置方法:将下列字段用“|”符号分隔开,例如:“locale|navigation|orientation

Value Description
“mcc“ The IMSI mobile country code (MCC) has changed — that is, a SIM hasbeen detected and updated the MCC.移动国家号码,由三位数字组成,每个国家都有自己独立的MCC,可以识别手机用户所属国家。
“mnc“ The IMSI mobile network code (MNC) has changed — that is, a SIM hasbeen detected and updated the MNC.移动网号,在一个国家或者地区中,用于区分手机用户的服务商。
“locale“ The locale has changed — for example, the user has selected a new language that text should be displayed in.用户所在地区发生变化。
“touchscreen“ The touchscreen has changed. (This should never normally happen.)
“keyboard“ The keyboard type has changed — for example, the user has plugged in an external keyboard.键盘模式发生变化,例如:用户接入外部键盘输入。
“keyboardHidden“ The keyboard accessibility has changed — for example, the user has slid the keyboard out to expose it.用户打开手机硬件键盘
“navigation“ The navigation type has changed. (This should never normally happen.)
“orientation“ The screen orientation has changed — that is, the user has rotated the device.设备旋转,横向显示和竖向显示模式切换。
“fontScale“ The font scaling factor has changed — that is, the user has selected a new global font size.全局字体大小缩放发生

更多相关文章

  1. Android 屏幕适配方案
  2. Cocos项目避免不断复制粘贴android lib库的方法
  3. Android去除系统自带动画的两种方法
  4. android studio中建立assets和jnilibs的方法
  5. Android unspecified' depends on one or more Android Librarie
  6. android控件-ImageView使用方法整理
  7. android的listview 嵌套在 ViewPage 多次调用getview原因和解决
  8. Android提交数据到服务器的两种方式四种方法

随机推荐

  1. Free Android UI library & component ro
  2. [转]android颜色对应的xml配置值
  3. Android SDK r23
  4. ListView实用参数
  5. Android开发网站被封解决方案
  6. Android 第三方库混淆proguard-rules,持续
  7. QT android platform SDK installed erro
  8. 如何查看USB方式连接Android设备的外接设
  9. Android SDK 源代码编译
  10. android webrtc构建过程