Android 横竖屏切换配置

1. startActivity 之后的生命周期

onCreate()
onStart()
onPostCreate()
onResume()
onPostResume()

2. 调用 finish 之后调用的生命周期

onPause()
onStop()
onDestroy()

3. 默认情况下旋转屏幕调用的生命周期

onPause()
onStop()
onDestroy()
onCreate()
onStart()
onPostCreate()
onResume()
onPostResume()

所以在不做任何设置的情况会,当旋转屏幕之后 activity 会先销毁再创建。此时如果界面上有一个 edittext 控件,那么经过屏幕旋转之后之前输入的内容就丢失了。

为了旋转之后不丢失数据,需要设置 activity 不销毁重建。

4. 配置横竖屏切换不销毁activity

在 AndroidManifest.xml 文件 activity 的定义处添加

<activity 
    android:name=".activity.LoginActivity"
    android:configChanges="orientation|screenSize" />

然后每次旋转屏幕之后会调用方法

onConfigurationChanged()

成功解决销毁重建导致的数据消失问题。

  • 之前看其他文章都会设置 keyboardHidden, 亲测在没有外接键盘的情况下有没有这个设置表现是一样的。因为手边没有手机可用的外接键盘所以不确定到时候会发生什么。

5. 设置只支持竖屏

<activity 
    android:name=".activity.LoginActivity"
    android:screenOrientation="portrait" />
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Activity https://developer.android.com/guide/components/a...
    XLsn0w阅读 4,007评论 0 4
  • Activity是一个应用组件,用户可与其提供的屏幕进行交互。以执行拨打电话,拍摄照片,发送电子邮件或查看地图等操...
    DanieX阅读 4,778评论 0 4
  • Android手机或平板都会存在横竖屏切换的功能,通常是由物理重力感应触发的,但是有时候也不尽然,通常在设置里面我...
    Lost_Robot阅读 11,816评论 1 5
  • 一、概述 Activity 作为与用户交互的一个窗口,是使用非常频繁的一个基本组件。Android系统是通过Act...
    三也视界阅读 6,783评论 3 11
  • ## 编写脚本实现传入进程,查看对应进程、proc下的cpu 内存指标 #!/bin/bash read -p "...
    ee30c6e3e872阅读 1,319评论 0 0

友情链接更多精彩内容