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.全局字体大小缩放发生
分享到:
相关推荐
在Android系统中,当手机从竖屏切换到横屏,或者反过来,系统默认会销毁当前的Activity并重建一个新的,以适应新的屏幕方向。在这个过程中,`onSaveInstanceState(Bundle outState)`方法会被调用,系统会将Activity...
在双屏切换显示中,新增了窗口调整模块和切屏处理模块,以支持不同屏幕之间的动态转换。 2. **底层窗口系统(SurfaceFlinger)**:负责将各个应用的窗口内容合成并输出到屏幕上。在双屏切换设计中,引入了屏幕管理...
可以自定义一个 Activity 的样式,例如设置 android:theme="@style/FloatActivity",详见手机卫士的程序详细信息。 6. 后台的 Activity 被系统回收 如果后台的 Activity 由于某原因被系统回收,可以在被系统回收...
装酷神器是一款运行在以Android 1.6以上操作系统的智能手机(包括Ophone和乐风)或者平板电脑上面的手机桌面插件。本软件完美模拟了windows7的界面风格和操作习惯,集成了资源管理器、任务管理器、控制面板、网页...
5. **Activity样式**:自定义Activity样式可以通过在清单文件中设定`android:theme="@style/FloatActivity"`,例如手机卫士的程序详细信息界面。 6. **Activity状态保存**:当Activity可能被系统回收时,应在`...
7. **兼容性测试**:确保在不同设备和浏览器上都能正常工作,特别是针对不同版本的iOS和Android系统进行适配。 通过以上步骤,我们可以成功地使用jQuery和CoffeeScript实现一个仿iPhone苹果手机界面的触屏切换效果...
装酷神器是一款运行在以Android 1.6以上操作系统的智能手机(包括Ophone和乐风)或者平板电脑上面的手机桌面插件。本软件完美模拟了windows7的界面风格和操作习惯,集成了资源管理器、任务管理器、控制面板、网页...
2. **设置为orientation**:如果设置`android:configChanges="orientation"`,切屏时仍会重新调用各个生命周期方法,但是横屏和竖屏时只会执行一次。 3. **设置为orientation|keyboardHidden**:如果设置`android:...
在Android开发领域,Launcher是用户与系统交互的重要入口,它负责展示手机主屏幕,包括桌面图标、小部件等。本文将深入探讨如何创建一个高仿原生的自定义Launcher,支持跨屏拖动和多屏显示应用列表,以及左右滑动...
随着移动互联网的迅速发展,越来越多的人通过智能手机获取信息,这推动了各类移动应用程序(App)的发展。其中,新闻类App因其方便快捷的特点受到了广泛欢迎。Delphi 10.3作为一款强大的跨平台应用程序开发工具,在...