`
lijuanabc
  • 浏览: 125765 次
社区版块
存档分类
最新评论

Android4: 旋转屏幕时禁止Activity重启

 
阅读更多
我们知道,Andorid旋转屏幕时默认是重新Create Activity,之前我们可以
在AndroidManifest.xml 中添加activity属性android:configChanges="orientation"
来声明Acitivity自己处理orientaion,这样就不会重新Create Activity

在 ics中需要改为android:configChanges="orientation|screenSize"

Caution: Beginning with Android 3.2 (API level 13), the "screen size" also changes when the device switches between portrait and landscape orientation. Thus, if you want to prevent runtime restarts due to orientation change when developing for API level 13 or higher (as declared by the minSdkVersion and targetSdkVersion attributes), you must include the "screenSize" value in addition to the "orientation" value. That is, you must decalare android:configChanges="orientation|screenSize". However, if your application targets API level 12 or lower, then your activity always handles this configuration change itself (this configuration change does not restart your activity, even when running on an Android 3.2 or higher device).

分享到:
评论

相关推荐

    Android屏幕旋转Demo

    当设置这些值时,Android不会默认重启Activity,而是调用`onConfigurationChanged()`方法,让你在代码中处理配置变更。 接下来,我们将在MainActivity.java中重写`onConfigurationChanged()`方法: ```java @...

    设备旋转与Activity生命周期

    标题“设备旋转与Activity生命周期”所指的知识点主要是Android中Activity如何响应设备的屏幕方向变化。Activity是Android应用程序的基本组件,它负责与用户进行交互。在设备旋转时,系统会触发Activity的生命周期...

    android 自适应屏幕翻转

    1. **在`AndroidManifest.xml`中设置`configChanges`属性**:通过添加`configChanges="orientation|keyboardHidden"`属性,可以告诉Android系统,该Activity可以处理配置变化而不重启,从而避免`onCreate()`的重复...

    android重力感应禁止调用oncreat方法

    这是因为默认情况下,Android系统为了保持应用的一致性,在屏幕方向发生变化时会销毁当前活动(Activity)并重新创建一个新的实例,这会导致`onCreate()`方法被重新调用。这对于某些场景来说并不理想,例如当用户正在...

    Android代码-MyRotation.zip

    在Android开发中,屏幕旋转是一个常见的需求,尤其是在创建支持多种设备方向的应用时。"MyRotation.zip"这个压缩包很可能包含了实现这一功能的源代码示例。让我们深入探讨一下Android中的屏幕旋转机制及其相关知识点...

    android屏幕控制

    在Android开发中,屏幕控制是一项重要的技术,它涉及到应用程序如何适应不同尺寸和方向的设备屏幕。本文将详细探讨如何在Android中...同时,合理地处理屏幕方向变化,能有效防止因Activity重启带来的数据丢失或错误。

    android屏幕的切换

    3. **保存和恢复状态**:当屏幕方向变化时,Android会默认重新创建Activity,因此你需要处理状态的保存和恢复。重写`onSaveInstanceState(Bundle outState)`和`onRestoreInstanceState(Bundle savedInstanceState)`...

    Android屏幕旋转

    在Android应用中,屏幕旋转的默认行为由`AndroidManifest.xml`中的`<activity>`标签控制。你可以通过设置`android:screenOrientation`属性来指定活动的屏幕方向,如`portrait`(竖屏)、`landscape`(横屏)、`...

    Android程序设计-Activity的生命周期.pptx

    - **onRestoreInstanceState(Bundle savedInstanceState)**:当Activity重启(例如,用户旋转屏幕导致重建Activity)时调用,允许恢复之前保存的状态。 - **onCreate(Bundle savedInstanceState)**:在Activity...

    简单实例屏幕旋转(学习专用)

    android:text="旋转屏幕" /> ``` 接下来,在MainActivity.java中,你需要找到这个按钮并为其设置点击监听器。当按钮被点击时,调用`setRequestedOrientation()`方法来改变屏幕方向。这里我们先设置为横屏,再次...

    解决Android手机屏幕横竖屏切换

    本文将详细介绍如何在Android应用中避免因屏幕旋转而导致的Activity重启,并保持当前Activity的状态。 #### 一、使用`configChanges`属性 为了防止屏幕旋转导致Activity被销毁并重新创建,可以在`AndroidManifest....

    android activity状态保存

    除了手动保存和恢复状态外,还可以利用Android提供的ViewModel类,它可以在配置变更(如屏幕旋转)时保持数据不变。ViewModel会在Activity重建时存活,避免了手动处理保存和恢复状态的繁琐工作。 通过以上步骤,...

    android 学习心得

    - **`android:alwaysRetainTaskState`**:如果设置为 `true`,则当此Activity所在的Task被销毁时,系统会保留Task的状态而不是重启整个Task。 - **`android:clearTaskOnLaunch`**:如果设置为 `true`,那么在启动这...

    android适应屏幕

    当屏幕旋转时,Android默认会销毁并重新创建Activity,这可能导致游戏或其他需要持续状态的应用重启。为防止这种情况,可以在`AndroidManifest.xml`中为Activity添加`android:configChanges`属性,如`"orientation|...

    应用源码之9.Activity高级学习.zip

    5. **配置变更与处理**:如屏幕旋转会导致Activity重建,可以通过配置文件指定不重启Activity或重写onConfigurationChanged方法来处理。 6. **Activity间的通信**:通过Intent传递数据,或者使用Binder机制实现更...

    android Activity左右滑动

    在左右滑动的场景中,每个界面通常由一个Fragment表示,这样可以在不重启Activity的情况下改变屏幕内容。 3. **PageTransformer**: 如果希望自定义滑动动画,可以实现ViewPager的PageTransformer接口。这个接口提供...

    安卓Android源码——MyRotation.zip

    4. **AndroidManifest.xml配置**:开发者可以在应用级别或Activity级别的AndroidManifest.xml中设置屏幕方向,如`android:screenOrientation="portrait"`或`android:screenOrientation="landscape"`,以强制应用保持...

    android面试题整理.txt

    根据提供的文件信息,我们可以整理出一系列与Android开发相关的面试知识点,包括对Activity的理解、Activity生命周期管理、配置变更处理策略、主题样式应用、系统重启时的数据保存机制以及如何优雅地关闭Activity等...

Global site tag (gtag.js) - Google Analytics