android手机屏幕方向改变的时可以使应用程序随之相应改变,这里就简单介绍屏幕操作中的一点小技巧。包括始终横(竖)屏、全屏、屏幕方向改变时销毁Activity的问题。
1、屏幕始终横屏或竖屏
对于一些游戏,可能我们希望屏幕始终横屏,这时只需要在AndroidManifest.xml中对Activity属性进行设置
android:screenOrientation="landscape"表示始终横屏,
android:screenOrientation="portrait"表示始终竖屏,下面是始终横屏的例子
<activity android:name="ViewStatusDetailActivity" android:screenOrientation="landscape" android:label="@string/app_name"> </activity>
android:screenOrientation的其他值见screenOrientation
2、Activity全屏
两种配置方式,
一种是在AndroidManifest.xml中对Activity属性进行设置,如下:
<activity android:name="ViewStatusDetailActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:label="@string/app_name"> </activity>
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"表示全屏该Activity
第二种是在代码中进行设置
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //无title requestWindowFeature(Window.FEATURE_NO_TITLE); //全屏 getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN , WindowManager.LayoutParams. FLAG_FULLSCREEN); setContentView(R.layout.main); } }
其中requestWindowFeature和getWindow().setFlags必须一起使用,并且在setContentView前面
3、解决屏幕方向改变Activity销毁重建问题
当屏幕方向改变时,经常发现刚输入的文字被清空了、imageView图片不存在了,或是网络数据重新获取,其实是Activity会被销毁,重新调用OnCreate构建,如何防止这种情况呢,分为两步:
3.1 在AndroidManifest.xml中对Activity属性进行设置,如下:
<activity android:name="ViewStatusActivity" android:configChanges="orientation|keyboardHidden" android:label="@string/app_name" android:theme ="@style/update_status_style"> </activity>
android:configChanges="orientation|keyboardHidden"表示改变界面方向和隐藏键盘
具体android:configChanges见configChanges
3.2 重载onConfigurationChanged方法,此方法会在屏幕方向改变时被调用如下:
@Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { // 加入横屏要处理的代码 } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { // 加入竖屏要处理的代码 } }
参考:http://ghostfromheaven.iteye.com/blog/967629
相关推荐
android Activity始终横屏、全屏、屏幕方向改变等屏幕相关
实现在 listView中播放视频,利用 mediaPlayer + textureView 实现,支持横竖屏切换,切换操作是在同一个 activity 中进行的,类似腾讯新闻的视频播放, 实现思路可以看下我的博客: ...
本文实例讲述了Android中Activity常用功能设置小结(包括全屏、横竖屏等)。分享给大家供大家参考,具体如下: Activity全屏设置 方式1:AndroidManifest.xml 代码如下:<activity android:name=”myAcitivty” ...
项目中经常需要底部弹出框,这里我整理一下其中我用的比较顺手的一个方式(底部弹出一个横向满屏的dialog)。 效果图如下所示(只显示关键部分): 步骤如下所示: 1.定义一个dialog的布局(lay_share.xml) <?...
本文实例讲述了Android实现固定屏幕显示的方法。分享给大家供大家参考。具体如下: ...如果要使Activity的View界面全屏,只需要将最上面的信号栏和Activity的Title栏隐藏掉即可,隐藏Title栏的代码
支持微信滑动返回样式、横屏滑动返回、全屏滑动返回。 常见问题与反馈 1.使用透明主题时,滑动返回看见了 Launcher 保证栈底 Activity 的主题是不透明的。例如 demo 中的首个 Activity 是 SplashActivity,进入主...
偶然在项目中用到播放视频时,需要横屏将视频全屏播放,所以需要监听屏幕的横竖屏切换事件。 横竖屏切换监听效果: ConfigChanges,用于捕获手机状态的改变,当横竖屏切换,屏幕尺寸变化,弹出键盘,系统设置改变...
:person_running: BGASwipeBackLayout-Android :person_running:强烈建议与结合着一起使用常见问题与反馈1.使用透明主题时,滑动返回看见了例如demo中的首个Activity是SplashActivity,进入主界面后SplashActivity就...
1 在网络条件不好的情况下在全屏和竖屏两个Activity之间切换可能会出错退出,原因是官方播放库中的线程没有做线程分离,在log中可以看到错误信息,这个问题在应用层没法改。如果只是在一个页面播放而不跳新页面则没...
//SCREEN_ORIENTATION_SENSOR 由重力感应器来决定屏幕的朝向,它取决于用户如何持有设备,当设备被旋转时方向会随之在横屏与竖屏之间变化 //SCREEN_ORIENTATION_NOSENSOR: 忽略物理感应器——即显示方向与物理感应...
9.7、横竖屏 197 9.8、程序完全全屏 200 9.8.1锁屏锁键盘 200 9.9、程序的开机启动 201 9.10、动态START页面 208 9.11、彻底退出当前程序 212 9.12、获取应用程序的名称,包名,版本号和图标 212 9.13、调用ANDROID ...
9.7、横竖屏 197 9.8、程序完全全屏 200 9.8.1锁屏锁键盘 200 9.9、程序的开机启动 201 9.10、动态START页面 208 9.11、彻底退出当前程序 212 9.12、获取应用程序的名称,包名,版本号和图标 212 9.13、调用ANDROID ...
横竖屏显示 private void changedScreen(){ int request = this.getRequestedOrientation(); if(request == -1){ Toast.makeText(TaskRunActivity.this, "None 1", Toast.LENGTH_SHORT).show(); }else{ if...
onCreate 入口函数 子类须覆写该函数 在该函数中设置全屏 横(竖)屏 界面尺寸 创建引擎 实例化自定义类 createEngine 创建只包含SurfaceView的引擎 createEngine boolean createRelativeLayout 参数为true创建包含...
简单滤镜(马赛克、黑白、色彩过滤、高斯、模糊、模糊等等20多种)、动画、(水印、画面多重播放等)。 帧图 视频第一帧、视频帧截图功能,视频生成gif功能。 播放 列表播放、列表连续播放、重力旋转与手动旋转、...