原文出自:http://blog.sina.com.cn/s/blog_4ca975460100g5yj.html
关于Android横竖屏切换的解决方法
在开发游戏的时候,有些游戏是只能横屏玩的,所以手机竖立放置的时候,要保持游戏画面依然横屏。要做到这个要求其实很简单,在AndroidManifest.xml里面配置一下就可以了。加入这一行android:screenOrientation="landscape"。
例如(landscape是横向,portrait是纵向):
Java代码
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ray.linkit"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Main"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".GamePlay"
android:screenOrientation="portrait"></activity>
<activity android:name=".OptionView"
android:screenOrientation="portrait"></activity>
</application>
<uses-sdk android:minSdkVersion="3" />
</manifest>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ray.linkit"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Main"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".GamePlay"
android:screenOrientation="portrait"></activity>
<activity android:name=".OptionView"
android:screenOrientation="portrait"></activity>
</application>
<uses-sdk android:minSdkVersion="3" />
</manifest>
另外,android中每次屏幕的切换动会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次Create的时候载入配置,那样,进行中的游戏就不会自动重启了!
转载自:http://rayleung.iteye.com/blog/426972
回答时间:2009-01-18 18:04
当屏幕变为横屏的时候,系统会重新呼叫当前Activity的OnCreate方法,你可以把以下方法放在你的OnCreate中来检查当前的方向,然后可以让你的SetContentView来载入不同的Layout xml.
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
Log.i("info", "landscape");
}
else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
Log.i("info", "portrait");
}
关于屏幕切换的时候
首先需要在androidmanifest.xml中加入配置
android:configChanges="orientation|keyboardHidden|navigation
这样在程序中. Activity就不会重复的调用onCreate()
甚至不会调用onPause.onResume.
只会调用一个onConfigurationChanged(Configuration newConfig)
这是在XML加入配置选项的前提下.
如果在就加入选项的前提下.如上所说. Activity会重新激活onCreate方法
根据你自己的需求来选择配置改变时的处理机制这样比较好一点。
分享到:
相关推荐
禁止App内横竖屏切换的方法是在AndroidManifest.xml文件中对需要固定方向的Activity设置android:screenOrientation属性。该属性有几个可选值: 1. "unspecified":默认值,系统将根据设备的当前状态来判断显示方向...
为了避免这种情况,可以在AndroidManifest.xml中为相应Activity设置`android:configChanges="orientation|screenSize"`,然后在Activity中覆盖onConfigurationChanged()方法,处理横竖屏切换。 ```xml android:...
在Android开发中,横竖屏切换是一个常见的需求,它涉及到屏幕方向变化时应用程序的处理方式。本Demo旨在演示如何在Android应用中实现横竖屏的切换,并妥善处理屏幕旋转带来的影响。下面将详细介绍这个主题。 1. **...
在Android开发中,横竖屏切换是常见的场景,它涉及到应用程序界面布局的适应性和用户体验。这份"Android横竖屏切换处理Demo源码"提供了一个很好的学习示例,帮助开发者理解和处理这一问题。以下是对这个Demo源码中...
在Android应用开发中,横竖屏切换是一项基本且重要的功能,尤其对于那些需要根据屏幕方向提供不同用户体验的应用来说。这份"Android应用源码之(横竖屏切换处理)"的资源,是一个非常适合毕业设计学习的示例,可以帮助...
android activity 执行屏幕横竖屏切换的时候activity声明周期执行的竖屏的时候点击横屏 09-04 15:54:27.675: I/yxd(6708): 应用程序执行了============onPause===方法===>> 09-04 15:54:27.685: I/yxd(6708): 应用...
在Android平台上开发一款支持横竖屏切换的视频播放器是一项常见的任务,这涉及到对Android多媒体框架的深入理解和屏幕适配策略。"Android视频播放器(支持横竖屏切换)"这个项目的核心目标是创建一个能够根据设备...
在Android开发中,横竖屏切换是一个常见的需求,尤其对于那些需要根据屏幕方向提供不同界面布局的应用来说。本文将深入探讨Android系统中的横竖屏切换机制,并通过"OrientationSwitchDemo"这个示例代码来帮助理解。 ...
在安卓(Android)系统中,横竖屏切换是应用程序开发中的常见需求,涉及到用户界面(UI)布局的动态调整和程序状态的保存与恢复。本资料"安卓Android源码——(横竖屏切换处理).rar"很可能是针对这一主题的一个实践...
在Android开发中,横竖屏切换是常见的应用场景,它涉及到Activity的生命周期管理和用户界面的适配。本项目“LandscapePortraitDemo”旨在演示如何在Android Studio中处理这一问题,同时结合WebView的加载以及...
本Demo主要展示了如何利用zxing库实现一个支持横竖屏切换的二维码扫描功能。ZXing,全称Zebra Crossing,是一个开源的条码处理库,支持多种格式的条码和二维码扫描。 首先,我们需要在项目中集成zxing库。这里使用...
例如,设置`android:configChanges="orientation|keyboardHidden"`将使得在横竖屏切换或键盘隐藏/显示时,系统不会重新创建`Activity`,而是调用`onConfigurationChanged()`方法。 - 在`onConfigurationChanged()`...
Fragment的概念在Android 3.0(API级别11)引入,为开发者提供了更大的灵活性来设计多屏幕应用,特别是在处理横竖屏切换时。本项目"fragment横竖屏切换demo"是一个实际操作的例子,展示了如何利用Fragment来实现横竖...
android 视频播放 点击横竖屏切换 自动旋转横竖屏切换 冲突 仿优酷(ios)效果 android没去看看到ios有这个效果 项目需要也实现了
本篇将深入探讨如何在Android中动态创建Fragment以及在横竖屏切换时保持状态。 首先,让我们了解Fragment的基本概念。Fragment是一个可以包含用户界面的模块化组件,它可以被添加到Activity中,也可以从Activity中...
在Android应用开发中,横竖屏切换是一个常见的需求,开发者需要处理好布局的变化以及由此引发的用户体验问题。本文将详细讲解如何在Android中实现横竖屏切换,并讨论如何禁止或控制这种切换。 首先,Android系统...
Android 横竖屏切换是手机开发中一个非常常见的问题,很多软件在开发过程中为了避免横竖屏切换时引发不必要的麻烦,通常禁止掉横竖屏的切换,即通过在 AndroidManifest.xml 中设置 activity 中的 android:...
- 当`android:configChanges`被设置后,应用需要在Activity中重写`onConfigurationChanged(Configuration newConfig)`方法,以处理横竖屏切换。在这里,可以判断`newConfig.orientation`来区别当前屏幕方向,并相应...