如何让Android横竖屏切换时不销毁当前activity

如何让Android横竖屏切换时不销毁当前activity,第1张

manifest中为相应的Activity设置android:configChanges属性即可

Andorid 3.2以前的SDK可以使用如下配置

android:configChanges="orientation|keyboardHidden"

而Adnroid 3.2以后的SDK必须添加一个screenSize属性,具体如下

android:configChanges="keyboardHidden|orientation|screenSize"

或者

android:configChanges="orientation|screenSize"

对android:configChanges的总结

1、不设置Activity的android:configChanges时,切屏会重新调用各个生命念顷橘周期,切横屏时会执行一次,切竖屏时会执行两次(在三星4.0设备上切横屏和竖屏乎团都是执行一次,而并非这里说的有执行两次的情况);

2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次;

3、设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法

注:上述描述是在Android3.2以前,如果缺少了keyboardHidden选项,不能防止Activity的仔团销毁重启,也就不能执行onConfigurationChanged方法了。在3.2之后,必须加上screenSize属性才可以屏蔽调用Activity的生命周期(一些设备上可以不需要keyboardHidden,只要screenSize就可以了,保守起见还是继续保留keyboardHidden吧)。

Android之Activity的几种跳笑埋转悄慧方式

1.显示调用方法

Intent intent=new Intent(this,OtherActivity.class) //方法启升答1

Intent intent2=new Intent()

intent2.setClass(this, OtherActivity.class)//方法2

intent2.setClassName(this, "com.zy.MutiActivity.OtherActivity") //方法3 此方式可用于打开其它的应用

intent2.setComponent(new ComponentName(this, OtherActivity.class)) //方法4

startActivity(intent2)

然后调用finish():结束当前Activity

2.隐式调用方法(只要action、category、data和要跳转到的Activity在AndroidManifest.xml中设置的匹配就OK

3.跳转到另一个Activity后,当返回时能返回数据

在跳转的Activity端,调用startActivityForResult(intent2, 1),跳转到下一个Activity,其中第一个参数为传入的意图对象,第二个为设置的请求码;

跳转到第二个Activity后,调用setResult(100, intent)方法可返回上一个Activity,其中第一个参数为结果码,第二个为传入的意图对象;

在第一个Activity通过onActivityResult()方法获得返回的数据。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12556074.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存