在Android中要让一个程序的界面始终保持一个方向,不随手机方向转动而变化的办法: 只要在AndroidManifest.xml里面配置一下就可以了。
在AndroidManifest.xml的activity(需要禁止转向的activity)配置中加入android:screenOrientation=”landscape”属性即可(landscape是横向,portrait是纵向)。例如:
[html] view plaincopyprint?<?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的时候载入配置,那样,进行中的游戏就不会自动重启了!
要避免在转屏时重启activity,可以通过在androidmanifest.xml文件中重新定义方向(给每个activity加上android:configChanges=”keyboardHidden|orientation”属性),并根据Activity的重写onConfigurationChanged(Configuration newConfig)方法来控制,这样在转屏时就不会重启activity了,而是会去调用onConfigurationChanged(Configuration newConfig)这个钩子方法。例如:
[java] view plaincopyprint?if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){
//横向
setContentView(R.layout.file_list_landscape);
}else{
//竖向
setContentView(R.layout.file_list);
}
if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){
//横向
setContentView(R.layout.file_list_landscape);
}else{
//竖向
setContentView(R.layout.file_list);
}在模拟器中,要使程序转屏可以使用快捷键F12或Ctrl+F11来切换。当然在用命令行启动模拟器时可以直接使用参数emulator.exe -skin HVGA-L来启动横屏的程序。
分享到:
相关推荐
在Android中要让一个程序的界面始终保持一个方向,不随手机方向转动而变化的办法: 只要在AndroidManifest.xml里面配置一下就可以了。 在AndroidManifest.xml的activity(需要禁止转向的activity)配置中加入...
总结来说,横竖屏切换在Android应用开发中是一个涉及到用户界面方向适应性和用户体验的重要部分。开发者需要根据应用的实际需求和功能设计,通过AndroidManifest.xml中的配置或者代码中的实现来控制Activity的屏幕...
在移动设备开发领域,屏幕方向锁定是一个常见的需求,特别是在开发针对Android和iOS系统的原生应用程序时。对于Delphi XE5和XE6这两个版本的开发者来说,理解和掌握如何实现屏幕方向锁定至关重要。本文将深入探讨...
在Android开发中,横竖屏切换是一个常见的需求,尤其对于那些需要优化用户界面展示的应用来说。这个"安卓横竖屏切换源程序"提供了一个可复用的解决方案,可以帮助开发者轻松地将横竖屏切换功能集成到自己的应用中。...
要实现这一功能,主要涉及到AndroidManifest.xml文件中的`<activity>`标签及其`android:screenOrientation`属性的使用。这个属性允许开发者指定应用程序或特定活动(Activity)的屏幕方向。 `android:...
在Android应用开发中,有时我们需要固定应用程序的屏幕方向,避免用户在使用过程中因设备旋转而改变界面布局。本文将详细讲解如何实现这一功能。 首先,Android系统提供了多种方式来控制屏幕的方向,通常有两种主要...
在安卓平台上进行微信开发时,经常会遇到一个问题:当用户在输入框中输入文字时,弹出的虚拟键盘会遮挡输入框,导致用户体验不佳。针对这个问题,开发者通常需要寻找有效的解决方案来优化用户体验。 首先,我们可以...