博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 程序中禁止屏幕旋转和重启Activity
阅读量:6756 次
发布时间:2019-06-26

本文共 1241 字,大约阅读时间需要 4 分钟。

 

 

禁止屏幕随手机旋转变化

有时候我们希望让一个程序的界面始终保持在一个方向,不随手机方向旋转而变化: 在AndroidManifest.xml的每一个需要禁止转向的Activity配置中加入android:screenOrientation=”landscape” 属性。

landscape = 横向 portrait = 纵向

 

避免在转屏时重启Activity

android中每次屏幕方向切换时都会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次 Create的时候载入配置,那样,进行中的游戏就不会自动重启了! 要避免在转屏时重启Activity,可以通过在AndroidManifest.xml文件中重新定义方向(给每个Activity加上 android:configChanges=”keyboardHidden|orientation”属性)。 在需要控制屏幕显示方向的Activity中重写 onConfigurationChanged(Configuration newConfig)方法,这样在转屏时就不会重启Activity了。

if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE) {    //横向    setContentView(R.layout.file_list_landscape);} else { //竖向 setContentView(R.layout.file_list); }

 

android:screenOrientation=”landscape” android:configChanges=”keyboardHidden|orientation”

 

@Overridepublic void onConfigurationChanged(Configuration newConfig) {    super.onConfigurationChanged(newConfig); if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE) { //横向 setContentView(R.layout.file_list_landscape); } else { //竖向 setContentView(R.layout.file_list); } }

在模拟器中可以按 CTL+F11 模拟做屏幕旋转。

转载于:https://www.cnblogs.com/wabi87547568/p/5036238.html

你可能感兴趣的文章
两列布局——但只用右浮动
查看>>
GNOME 网页浏览器 Epiphany 将要进行 5 项改进
查看>>
今年CES最大亮点:智能语音助手正成为新趋势
查看>>
Windows Mysql Server重启, log-bin路径配置
查看>>
刘剑锋:友云采助力企业数字化采购的新发展
查看>>
Rainbond 5.0.4 发布,做最好用的云应用操作系统
查看>>
亚马逊宣布与西云数据达成合作,旨在进一步扩大中国业务
查看>>
java nio的基础--缓冲区
查看>>
负载均衡沙龙活动第二期现场问答汇集
查看>>
GBDT原理及利用GBDT构造新的特征-Python实现
查看>>
Android帧缓冲区(Frame Buffer)硬件抽象层(HAL)模块Gralloc的实现原理分析(10)...
查看>>
【Xamarin.Forms】在XAML中传递参数
查看>>
关于数据仓库 — 总体工具介绍
查看>>
最大的错误是不敢犯错
查看>>
跟我学交换机配置(七)
查看>>
makefile 中 $@ $^ % 2015-04-11 18:02:36
查看>>
C#强化系列文章三:实验分析C#中三种计时器使用异同点
查看>>
Linux 进程间通信(一)
查看>>
通用对象池ObjectPool的一种简易设计和实现方案
查看>>
HTTP压缩仍让加密连接处于风险之中
查看>>