`
wangxinasy
  • 浏览: 19740 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

Android 手机切屏事件

阅读更多
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 楼 guoyu04 2011-03-11  
我切屏checkbox状态无法保存怎么办

相关推荐

    android中手机切屏是activity生命周期的变化[收集].pdf

    在Android系统中,当手机从竖屏切换到横屏,或者反过来,系统默认会销毁当前的Activity并重建一个新的,以适应新的屏幕方向。在这个过程中,`onSaveInstanceState(Bundle outState)`方法会被调用,系统会将Activity...

    Android平台下双屏切换显示的设计

    在双屏切换显示中,新增了窗口调整模块和切屏处理模块,以支持不同屏幕之间的动态转换。 2. **底层窗口系统(SurfaceFlinger)**:负责将各个应用的窗口内容合成并输出到屏幕上。在双屏切换设计中,引入了屏幕管理...

    Android面试题整理精编版.doc

    可以自定义一个 Activity 的样式,例如设置 android:theme="@style/FloatActivity",详见手机卫士的程序详细信息。 6. 后台的 Activity 被系统回收 如果后台的 Activity 由于某原因被系统回收,可以在被系统回收...

    装酷神器,手机上的Windows,让你的手机瞬间变电脑

    装酷神器是一款运行在以Android 1.6以上操作系统的智能手机(包括Ophone和乐风)或者平板电脑上面的手机桌面插件。本软件完美模拟了windows7的界面风格和操作习惯,集成了资源管理器、任务管理器、控制面板、网页...

    android高端面试题整理(含Linux部分)

    5. **Activity样式**:自定义Activity样式可以通过在清单文件中设定`android:theme="@style/FloatActivity"`,例如手机卫士的程序详细信息界面。 6. **Activity状态保存**:当Activity可能被系统回收时,应在`...

    jquery制作仿iphone苹果手机界面触屏切换效果

    7. **兼容性测试**:确保在不同设备和浏览器上都能正常工作,特别是针对不同版本的iOS和Android系统进行适配。 通过以上步骤,我们可以成功地使用jQuery和CoffeeScript实现一个仿iPhone苹果手机界面的触屏切换效果...

    装酷神器手机上的Windows10

    装酷神器是一款运行在以Android 1.6以上操作系统的智能手机(包括Ophone和乐风)或者平板电脑上面的手机桌面插件。本软件完美模拟了windows7的界面风格和操作习惯,集成了资源管理器、任务管理器、控制面板、网页...

    android 面试题

    2. **设置为orientation**:如果设置`android:configChanges="orientation"`,切屏时仍会重新调用各个生命周期方法,但是横屏和竖屏时只会执行一次。 3. **设置为orientation|keyboardHidden**:如果设置`android:...

    TestLaucher.rar

    在Android开发领域,Launcher是用户与系统交互的重要入口,它负责展示手机主屏幕,包括桌面图标、小部件等。本文将深入探讨如何创建一个高仿原生的自定义Launcher,支持跨屏拖动和多屏显示应用列表,以及左右滑动...

    基于Delphi 10.3 开发新闻类安卓App实例研究

    随着移动互联网的迅速发展,越来越多的人通过智能手机获取信息,这推动了各类移动应用程序(App)的发展。其中,新闻类App因其方便快捷的特点受到了广泛欢迎。Delphi 10.3作为一款强大的跨平台应用程序开发工具,在...

Global site tag (gtag.js) - Google Analytics