android 屏幕横竖屏切换 小结
来源:互联网 发布:lol冰狼辅助源码 编辑:程序博客网 时间:2024/05/02 00:33
看了下面的内容,整理了一下自己的所得:
http://blog.sina.com.cn/s/blog_48964b1201017xwc.html
http://www.cnblogs.com/franksunny/archive/2012/03/21/2410484.html
http://www.open-open.com/lib/view/open1328069449468.html
http://www.2cto.com/kf/201205/132321.html
一、禁止横竖屏切换
android:screenOrientation="portrait"
则无论手机如何变动,拥有这个属性的activity都将是竖屏显示。
android:screenOrientation="landscape",为横屏显示。
上述修改也可以在Java代码中通过类似如下代码来设置
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)
二、横竖屏切换更改布局(开发需求中:要能横竖屏切换)
1.建立不同的布局文件(看html内容)
http://blog.sina.com.cn/s/blog_48964b1201017xwc.html
http://www.cnblogs.com/franksunny/archive/2012/03/21/2410484.html
http://www.open-open.com/lib/view/open1328069449468.html
更改布局的两种方式:
1.1 系统自动判断:切换横竖屏
1.2 在onCreate里判断屏幕方向切换上面,当屏幕横竖屏切换时,会重新加载数据,调用各个生命周期( 销毁当前的activity,重新执行onCreate() )
注意:
在实际开发中:如果要横竖屏切换,则进行下面的步骤:
1.建立不同的布局文件(看html内容)
在onCreate()中:
@Overrideprotected void onCreate(Bundle icicle) {super.onCreate(icicle);setContentView(R.layout.main);//这里,系统自动判断:切换横竖屏init();//初始化,赋值等操作findViews();//获得控件setListensers();//设置控件的各种监听方法}2.
在Androidmanifest.xml中配置activity:
android:configChanges="keyboardHidden|orientation|screenSize"
横竖屏切换时,只监听方向改变(onConfigurationChanged()),不会调用各个生命周期方法。
onConfigurationChanged()(除非在横竖屏下状态不同),直接设置界面、恢复状态即可:
@Overridepublic void onConfigurationChanged (Configuration newConfig){super.onConfigurationChanged(newConfig);setContentView(R.layout.main);//注意,这里删除了init(),否则又初始化了,状态就丢失findViews();setListensers();}3.activity数据,状态的保存:其实和普通的activity是一样的
3.1 当activity没有被销毁时,在onConfigurationChanged()中直接使用当前的数据和状态。3.2 当activity被用户销毁时,重新执行onCreate(),是一个新的activity实例(在这里,没有什么可说的)3.3 当activity被系统销毁(一般是内存吃紧时,系统把位置后台不可见的activity销毁了)时,3.3.1 在onSaveInstanceState(Bundle outState)中保存数据和状态.3.3.2 重新执行onCreate(),取得之前保存的数据和状态。这也是一个新的activity实例
http://www.2cto.com/kf/201205/132321.html
关于,保存数据和状态,可以自己搜索一些资料,了解更详细的知识。
其他内容:
android屏幕旋转时Activity不重新调用onCreate的方法
当手机转屏时,Activity的onDestroy和onCreate方法会被调用
为了避免Activity在转屏时销毁:
1)修改AndroidManifest.xml 在activity属性中加入:
android:configChanges=”orientation|keyboardHidden”
android:configChanges,这个方法主要是负责列出清单,
当清单上用户指定的设置改变时,Activity会自己处理这些变化。
orientation,屏幕界面旋转(可能是用户手动旋转的),
【注意:如果你的开发API等级等于或高于13,你还需要设置screenSize,因为screenSize会在屏幕旋转时改变】
keyboardHidden,键盘辅助功能改变
如下:
<activity android:theme="@style/ContentOverlay" android:launchMode="singleTask" android:configChanges="keyboardHidden|orientation|screenSize" //4.0以上必须加此属性 android:windowSoftInputMode="adjustPan|stateAlwaysVisible" android:name="com.weibo.net.ShareActivity"/>
- android 屏幕横竖屏切换 小结
- Android 屏幕横竖屏切换
- Android横竖屏切换小结
- Android横竖屏切换小结
- Android横竖屏切换小结
- Android横竖屏切换小结
- Android横竖屏切换小结
- Android横竖屏切换小结
- Android横竖屏切换小结
- Android横竖屏切换小结
- Android横竖屏切换小结
- Android横竖屏切换小结
- Android横竖屏切换小结
- Android横竖屏切换小结
- Android横竖屏切换小结
- Android横竖屏切换小结
- Android横竖屏切换小结
- Android横竖屏切换小结
- 执行xpath时提示,需要命名空间管理器或XsltContext。此查询具有前缀、变量或用户定义的函数
- 一线触摸有没有劫持了LCD显示屏?
- JSP脚本元素区别
- LeetCode主题整理(4)链表及相关问题
- LINUX计算器BC用法一二
- android 屏幕横竖屏切换 小结
- cmu 1月小结
- 黑马程序员_基础加强_注解
- 4.1 Python中的序列操作
- 如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等
- 离线计算,验证推荐的准确性(失败)
- 4.2 Python中的字符串操作
- 4.3 Python中的字符串格式化
- 智能家具