android横竖屏和隐藏标题栏、状态栏总结
2015-06-24 11:56
351 查看
http://www.drovik.com/ 2012-9-19 21:31:17 来源:新浪博客 点击:1727
任务中国 taskcn.com 1、android横竖屏
Android手机有两种手持方式,通俗的说,就是横着拿和竖着拿。那么在Android系统中,如何识别是哪种手持方式来决定屏幕的布局呢?
在程序的res目录下有一个layout目录,也就是res/layout/,有关于布局的东西在这里面描述。如果是竖着拿,那么会自动寻找res /layout-port(port意即portrait)目录作为缺省布局,如果是横着拿,那么会用res/layout-land(land意即 landscape)目录作为缺省布局。这样,就可以为两种屏幕尺寸定义不同的布局方式了。
如果在res目录下,既有layout,也有layout-port、layout-land,那么在横着用的时候,会用哪个捏,是layout-land。如果layou-land没有,才会使用layout。
针对不同的屏幕尺寸,除了在布局上会有不同之外,在操作上也可能会用不同,那么在操作时如何识别两种尺寸捏?可以通过这个方法来判断屏幕的方向:Context.getResources().getConfiguration().orientation
可能的值有:
Configuration.ORIENTATION_PORTRAIT 也就是竖着
Configuration.ORIENTATION_LANDSCAPE 也就是横着
Configuration.ORIENTATION_SQUARE 方的?不清楚
Configuration.ORIENTATION_UNDEFINED
如果我们想要明确的使用横屏或者竖屏显示:
可以通过java代码实现:
//设置为横屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
// 设置为竖屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
也可以通过xml实现:
//在配置文件中,设为横
android:screenOrientation=”landscape”
//在配置文件中,设为竖屏
android:screenOrientation=”portrait”
或者通过在res下建立固定的目录来让系统自己挑选横屏或者竖屏显示
在res目录下建立layout-land和layout-port目录,相应的layout文件不变,比如main.xml。layout-land是横屏的layout,layout-port是竖屏的layout,其他的不用管模拟器自动寻找
2、android隐藏标题栏、状态栏
一、隐藏标题栏
//隐藏标题栏
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
二、隐藏状态栏
//隐藏状态栏
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
三、去掉所有Activity界面的标题栏
修改AndroidManifest.xml
在application 标签中添加android:theme=”@android:style/Theme.NoTitleBar”
四、去掉所有Activity界面的TitleBar 和StatusBar
修改AndroidManifest.xml
在application 标签中添加
android:theme=”@android:style/Theme.NoTitleBar.Fullscreen”
任务中国 taskcn.com 1、android横竖屏
Android手机有两种手持方式,通俗的说,就是横着拿和竖着拿。那么在Android系统中,如何识别是哪种手持方式来决定屏幕的布局呢?
在程序的res目录下有一个layout目录,也就是res/layout/,有关于布局的东西在这里面描述。如果是竖着拿,那么会自动寻找res /layout-port(port意即portrait)目录作为缺省布局,如果是横着拿,那么会用res/layout-land(land意即 landscape)目录作为缺省布局。这样,就可以为两种屏幕尺寸定义不同的布局方式了。
如果在res目录下,既有layout,也有layout-port、layout-land,那么在横着用的时候,会用哪个捏,是layout-land。如果layou-land没有,才会使用layout。
针对不同的屏幕尺寸,除了在布局上会有不同之外,在操作上也可能会用不同,那么在操作时如何识别两种尺寸捏?可以通过这个方法来判断屏幕的方向:Context.getResources().getConfiguration().orientation
可能的值有:
Configuration.ORIENTATION_PORTRAIT 也就是竖着
Configuration.ORIENTATION_LANDSCAPE 也就是横着
Configuration.ORIENTATION_SQUARE 方的?不清楚
Configuration.ORIENTATION_UNDEFINED
如果我们想要明确的使用横屏或者竖屏显示:
可以通过java代码实现:
//设置为横屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
// 设置为竖屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
也可以通过xml实现:
//在配置文件中,设为横
android:screenOrientation=”landscape”
//在配置文件中,设为竖屏
android:screenOrientation=”portrait”
或者通过在res下建立固定的目录来让系统自己挑选横屏或者竖屏显示
在res目录下建立layout-land和layout-port目录,相应的layout文件不变,比如main.xml。layout-land是横屏的layout,layout-port是竖屏的layout,其他的不用管模拟器自动寻找
2、android隐藏标题栏、状态栏
一、隐藏标题栏
//隐藏标题栏
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
二、隐藏状态栏
//隐藏状态栏
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
三、去掉所有Activity界面的标题栏
修改AndroidManifest.xml
在application 标签中添加android:theme=”@android:style/Theme.NoTitleBar”
四、去掉所有Activity界面的TitleBar 和StatusBar
修改AndroidManifest.xml
在application 标签中添加
android:theme=”@android:style/Theme.NoTitleBar.Fullscreen”
相关文章推荐
- 控制台报错Found 2 versions of android-support-v4.jar in the dependency list解决方法
- Android studio运行时乱码 编码问题 閿欒: 缂栫爜UTF-8鐨勪笉鍙槧灏勫瓧绗?
- 如何Android数据库缓存进行管理
- Android学习笔记03: 通过setContentView切换Activity的View,保存动态修改后的视图
- Android 命令行编译、打包生成apk文件
- 如何对Android内存缓存进行优化
- Android如何用命令行进行打包
- 实现类似Android联系人搜索功能
- android项目通过命令生成和签名apk
- android布局属性
- Android学习笔记--用户手势检测-GestureDetector使用详解
- libvpx 交叉编译到arm 后,在android手机上运行
- Android APK反编译技术
- 重写TextView给文字描边
- Android学习之Json数据的获取与解析
- 对于Android NDK编译器ARM和Thumb模式的理解
- Android工程中三种库的区别:Private 、Referenced、Dependency
- Android测试环境搭建(win7)
- 解决android2.3版本下设置控件透明度的问题
- Android 4.4 keyguard类图