Android横竖屏的设置和使用
2013-08-04 17:19
120 查看
转:http://blog.163.com/fang_wang2005/blog/static/176928073201122924229728/
第一种,同时支持横屏和竖屏。
1)这种方式如果屏幕的布局在横屏和竖屏没有明显的差异,是不需要设置的,系统会默认旋转。
2)横屏和竖屏的布局明显的差异,比如横屏的时候可能会分成左右两屏,那么就需要我们进行相关的设置,这种情况下,一种布局文件是无法满足2种方向上的需要。
步骤如下:
首先需要在androidmanifest.xml中加入配置android:configChanges="orientation|keyboardHidden|navigation“,这样在程序中. Activity就不会重复的调用onCreate(),甚至不会调用onPause、onResume,只会调用一个onConfigurationChanged(Configuration newConfig)的方法。
onConfigurationChanged的实现代码如下:
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
// TODO
} else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
// TODO
}
}
android:configChanges的介绍;
通过设置这个属性可以使当前的Activity捕捉设备状态各种变化,下面是经常使用和可以识别的内容属性值:
CONFIG_FONT_SCALE 全局字体大小缩放发生改变
CONFIG_MCC --移动国家号码,由三位数字组成,每个国家都有自己独立的MCC,可以识别手机用户所属国家。
CONFIG_MNC --移动网号,在一个国家或者地区中,用于区分手机用户的服务商。
CONFIG_LOCALE --用户所在地区发生变化。
CONFIG_TOUCHSCREEN --触摸屏发生了变化,这个基本不会发生。
CONFIG_KEYBOARD --键盘模式发生变化
CONFIG_NAVIGATION--导航模式发生变化
CONFIG_ORIENTATION 设备旋转,横向显示和竖向显示模式切换
使用的时候,各字段用“|”符号分隔开。android:configChanges="keyboardHidden|orientation"
第二种,是只支持一种模式,如只只是横屏,或者只支持竖屏模式。
这种模式的使用相当容易些,直接在AndroidManifest.xml里面配置一下就可以了。加入这一行android:screenOrientation=”landscape”。(landscape是横向,portrait是纵向)
需要注意的:每个activity都有这个属性screenOrientation,每个activity都需要设置,并且这个属性只能设给activity,不能设给application
第一种,同时支持横屏和竖屏。
1)这种方式如果屏幕的布局在横屏和竖屏没有明显的差异,是不需要设置的,系统会默认旋转。
2)横屏和竖屏的布局明显的差异,比如横屏的时候可能会分成左右两屏,那么就需要我们进行相关的设置,这种情况下,一种布局文件是无法满足2种方向上的需要。
步骤如下:
首先需要在androidmanifest.xml中加入配置android:configChanges="orientation|keyboardHidden|navigation“,这样在程序中. Activity就不会重复的调用onCreate(),甚至不会调用onPause、onResume,只会调用一个onConfigurationChanged(Configuration newConfig)的方法。
onConfigurationChanged的实现代码如下:
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
// TODO
} else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
// TODO
}
}
android:configChanges的介绍;
通过设置这个属性可以使当前的Activity捕捉设备状态各种变化,下面是经常使用和可以识别的内容属性值:
CONFIG_FONT_SCALE 全局字体大小缩放发生改变
CONFIG_MCC --移动国家号码,由三位数字组成,每个国家都有自己独立的MCC,可以识别手机用户所属国家。
CONFIG_MNC --移动网号,在一个国家或者地区中,用于区分手机用户的服务商。
CONFIG_LOCALE --用户所在地区发生变化。
CONFIG_TOUCHSCREEN --触摸屏发生了变化,这个基本不会发生。
CONFIG_KEYBOARD --键盘模式发生变化
CONFIG_NAVIGATION--导航模式发生变化
CONFIG_ORIENTATION 设备旋转,横向显示和竖向显示模式切换
使用的时候,各字段用“|”符号分隔开。android:configChanges="keyboardHidden|orientation"
第二种,是只支持一种模式,如只只是横屏,或者只支持竖屏模式。
这种模式的使用相当容易些,直接在AndroidManifest.xml里面配置一下就可以了。加入这一行android:screenOrientation=”landscape”。(landscape是横向,portrait是纵向)
需要注意的:每个activity都有这个属性screenOrientation,每个activity都需要设置,并且这个属性只能设给activity,不能设给application
相关文章推荐
- Android横竖屏的设置和使用
- 【人生苦短,我学Python】个人学习笔记——设置pip和easy_install使用指定源
- ListView使用中layout_height属性设置之我发现
- ASP.NET的gridview设置数据格式(DataFormatString="{}")与 String.Format 使用总结
- 设置VMWARE通过桥接方式使用主机无线网卡上网
- 在使用beamer 制作PPT时,发现了很多有意思的设置
- Picasso 设置 RelativeLayout, LinearLayout 等视图的背景图等的使用方式
- js批量设置样式的三种方法不推荐使用with
- Java 使用Calendar 工具类时 设置时区
- FCKeditor 2.3 在ASP.NET中的设置和使用,以及一些问题
- GenyMotion 使用问题: 输入法设置 + 软件安装卸载 + 文件共享
- IDEA使用--字体、编码和基本设置
- 使用 gradle 在编译时动态设置 Android resValue / BuildConfig / Manifes中<meta-data>变量的值
- 使用过滤器对象来对登录成功界面设置权限保护
- php的mysqli支持如果未启用,数据库设置使用mysqli时将造成页面空白
- 关于Xib使用AutoLayout动态设置cell高度
- libcur设置接收数据的回调函数以及回调函数的使用
- Discuz中标签及相关帖子的设置使用
- 设置当前Activity背景是当前使用的壁纸