全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

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小时内与您取得联系。