***回答
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) { // 加入竖屏要处理的代码 }
其他问题
相关问题
- Android实现横屏以及全屏的小技巧
- Android activity-alias 多入口配置
- Xamarin Android Activity全屏的两种方式
- 基于jQuery的判断iPad、iPhone、Android是横屏还是竖屏
- 无废话Android之smartimageview使用、android多线程下载、显式意图激活另外一个activity,检查网络是否可用定位到网络的位置、隐式意图激活另外一个activity、隐式意图的配置,自定义隐式意图、在不同activity之间数据传递(5)
- Android4.0强制横屏竖屏
- Android:webView加载h5网页视频,播放不了,以及横屏全屏的问题和实现自定义加载进度条的效果
- Android-Activity横竖屏切换不杀死Activity 并监听横竖屏切换
- Android学习记录(8)—Activity的四种加载模式及有关Activity横竖屏切换的问题
- iOS 全局禁止横屏,但UIWebView 全屏播放视频,横屏,解决办法(任意页面横竖屏或禁止)