Android中当屏幕横竖屏切换时,Activity的生命周期是重新加载(说明当前的Activity给销毁了,但又重新执行加载),

怎么使屏幕横竖屏切换时,当前的Activity不销毁呢?
1. 在AndroidManifest.xml中为Activity设置configChanges属性,
application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".MainActivity" android:label="@string/app_name" android:configChanges="orientation|keyboardHidden"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
configChanges有如下选项:
1. orientation :屏幕在纵向和横向间旋转,
2. keyboardHidden:键盘显示或隐藏 ,
3.fontScale:用户变更了首选的字体大小
4.locale : 用户选择了不同的语言设定,
5. keyboard :键盘类型变更,例如手机从12键盘切换到全键盘
6. touchscreen或navigation:键盘或导航方式变化,
如果缺少了keyboardHidden选项不能防止Activity的销毁,并且在之后提到的onConfigurationChanged事件中只能捕获竖屏变横屏的事件 不能捕获横屏变竖屏
2. 在对应的Activity中重写:onConfigurationChanged 方法:
public class MainActivity extends Activity {
private TextView textView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.i("--Main--", "onCreate");
textView=(TextView)findViewById(R.id.tv_id);
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Log.i("--Main--", "onConfigurationChanged");
if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){
textView.setText("当前屏幕为横屏");
}else{
textView.setText("当前屏幕为竖屏");
}
}
}
效果如下:
日志打印:
从日志中可以分析出屏幕横竖屏切换时Activity并没有销毁,当然你也可以运行项目在onCreate方法打个断点,执行发现onCreate方法只是在刚开始进入时执行,屏幕横竖屏切换时,已经不会在执行,因此可在onConfigurationChanged方法中下点文章!
注:如果项目不需要屏幕切换时可以设置为
1. android:screenOrientation="portrait" 始终以竖屏显示
2. android:screenOrientation="landscape" 始终以横屏显示
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# android
# 横竖屏幕切换
# 横竖屏切换
# Android重力传感器实现滚动的弹球
# Android 重力传感器在游戏开发中的应用
# Android开发中的重力传感器用法实例详解
# 解析Android横竖屏切换的问题
# Android横竖屏幕切换小结
# Android实现横竖屏切换的实例代码
# Android横竖屏切换实例总结
# Android横竖屏幕切换生命周期详解
# Android 实现视频字幕Subtitle和横竖屏切换示例
# Android编程基于重力传感器实现横竖屏放向切换功能
# 加载
# 不需要
# 会在
# 可在
# 重写
# 刚开始
# 打个
# 但又
# 设置为
# 你也可以
# 切换到
# 中为
# 选择了
# 只是在
# 事件中
# category
# orientation
# MAIN
# LAUNCHER
# action
相关文章:
招商网站制作流程,网站招商广告语?
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
如何通过建站之星自助学习解决操作问题?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
如何通过虚拟主机快速搭建个人网站?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
北京企业网站设计制作公司,北京铁路集团官方网站?
广州建站公司哪家好?十大优质服务商推荐
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
利用JavaScript实现拖拽改变元素大小
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
如何自定义建站之星网站的导航菜单样式?
c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】
如何访问已购建站主机并解决登录问题?
太原网站制作公司有哪些,网约车营运证查询官网?
网站制作公司,橙子建站是合法的吗?
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
如何选择网络建站服务器?高效建站必看指南
制作网站的过程怎么写,用凡科建站如何制作自己的网站?
如何生成腾讯云建站专用兑换码?
清除minerd进程的简单方法
青岛网站建设如何选择本地服务器?
如何通过山东自助建站平台快速注册域名?
宁波自助建站系统如何快速打造专业企业网站?
南平网站制作公司,2025年南平市事业单位报名时间?
建站之星如何优化SEO以实现高效排名?
建站之星Pro快速搭建教程:模板选择与功能配置指南
北京营销型网站制作公司,可以用python做一个营销推广网站吗?
如何快速搭建高效服务器建站系统?
云南网站制作公司有哪些,云南最好的招聘网站是哪个?
内网网站制作软件,内网的网站如何发布到外网?
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何选择PHP开源工具快速搭建网站?
免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?
如何规划企业建站流程的关键步骤?
定制建站如何定义?其核心优势是什么?
建站之星代理平台如何选择最佳方案?
孙琪峥织梦建站教程如何优化数据库安全?
保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?
建站主机如何选?性能与价格怎样平衡?
小型网站制作HTML,*游戏网站怎么搭建?
陕西网站制作公司有哪些,陕西凌云电器有限公司官网?
动图在线制作网站有哪些,滑动动图图集怎么做?
建站之星下载版如何获取与安装?
*请认真填写需求信息,我们会在24小时内与您取得联系。