`

Android禁止横屏竖屏切换

 
阅读更多

在Android中要让一个程序的界面始终保持一个方向,不随手机方向转动而变化的办法: 只要在AndroidManifest.xml里面配置一下就可以了。

在AndroidManifest.xml的activity(需要禁止转向的activity)配置中加入android:screenOrientation=”landscape”属性即可(landscape是横向,portrait是纵向)。例如:

 

[html] view plaincopy
  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"   
  3.       package="com.ray.linkit"   
  4.       android:versionCode="1"   
  5.       android:versionName="1.0">   
  6.     <application android:icon="@drawable/icon" android:label="@string/app_name">   
  7.         <activity android:name=".Main"   
  8.                   android:label="@string/app_name"   
  9.                   android:screenOrientation="portrait">   
  10.             <intent-filter>   
  11.                 <action android:name="android.intent.action.MAIN" />  
  12.                 <category android:name="android.intent.category.LAUNCHER" />  
  13.             </intent-filter>  
  14.         </activity>  
  15.                 <activity android:name=".GamePlay"   
  16.                 android:screenOrientation="portrait"></activity>   
  17.                 <activity android:name=".OptionView"   
  18.                 android:screenOrientation="portrait"></activity>   
  19.     </application>   
  20.     <uses-sdk android:minSdkVersion="3" />   
  21. </manifest>  

 

另外,android中每次屏幕方向切换时都会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次Create的时候载入配置,那样,进行中的游戏就不会自动重启了!

要避免在转屏时重启activity,可以通过在androidmanifest.xml文件中重新定义方向(给每个activity加上android:configChanges=”keyboardHidden|orientation”属性),并根据Activity的重写onConfigurationChanged(Configuration newConfig)方法来控制,这样在转屏时就不会重启activity了,而是会去调用onConfigurationChanged(Configuration newConfig)这个钩子方法。例如:

 

[java] view plaincopy
  1. if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){  
  2.   //横向   
  3.   setContentView(R.layout.file_list_landscape);   
  4. }else{  
  5.   //竖向   
  6.    setContentView(R.layout.file_list);   
  7. }  

在模拟器中,要使程序转屏可以使用快捷键F12或Ctrl+F11来切换。当然在用命令行启动模拟器时可以直接使用参数emulator.exe -skin HVGA-L来启动横屏的程序。 

分享到:
评论

相关推荐

    Android禁止横屏竖屏切换的有效方法

    在AndroidManifest.xml的activity(需要禁止转向的activity)配置中加入android:screenOrientation=”landscape”属性即可(landscape是横向,portrait是纵向)。例如:  &lt;?xml version=1.0 encoding=utf-8?&gt; &...

    Android studio通过切换不同layout实现横竖屏适配

    1. 创建横屏布局:默认情况下,Android Studio创建的布局是针对竖屏的。要创建横屏布局,可以在res/layout目录下右键选择"New &gt; Layout resource file"。在弹出的对话框中,填写文件名,例如`activity_main_land.xml...

    Android 简单例子:横屏 竖屏切换.rar

    在Android开发中,屏幕方向的切换是常见的需求之一,尤其在设计多布局或者特定场景(如游戏、...在提供的"Android 简单例子:横屏 竖屏切换.rar"资源中,应该包含了实现这一功能的具体源代码,你可以下载学习和参考。

    uniapp中设置横屏竖屏

    本文将详细介绍如何在uni-app中实现横屏竖屏的设置与切换。 一、uni-app的屏幕方向基础概念 1. 屏幕方向:手机或平板设备的屏幕可以处于竖屏(Portrait)或横屏(Landscape)状态。通常,竖屏是手机默认的显示方式...

    android竖屏切换横屏

    针对"android竖屏切换横屏"这一主题,我们主要探讨如何在基于MediaTek (MTK) 平台的手机上实现屏幕方向的切换,将默认的竖屏显示转变为横屏模式。 首先,Android系统提供了两种主要的屏幕方向:Portrait(竖屏)和...

    Activity 的生命周期 以及 横屏竖屏切换时 Activity 的状态变化

    在Android中,默认情况下,当设备方向发生改变时(从横屏变为竖屏或相反),系统会销毁当前`Activity`实例并重新创建它。这导致了一系列生命周期方法的调用顺序如下: 1. **onSaveInstanceState()**:系统调用此...

    【Android每周专题】横竖屏切换

    当设备从横屏切换到竖屏,或者反过来,Android会调用Activity的相关生命周期方法,例如`onConfigurationChanged()`。默认情况下,系统会销毁并重新创建Activity以加载对应方向的资源。 1. **屏幕配置更改**: ...

    Android如何禁止横屏竖屏的变换

    总的来说,通过在AndroidManifest.xml中正确设置`android:configChanges`属性,并在Activity中忽略配置变化,可以在Android 4.0及以上版本中实现禁止横屏竖屏切换的功能。然而,这种方法可能会导致用户界面在不同...

    android横竖屏

    本篇将深入探讨“Android横竖屏”相关的知识点,以及如何处理屏幕旋转带来的影响。 一、Android屏幕方向 1. 屏幕方向检测:Android系统提供了`Display`类来获取设备的显示信息,包括当前的屏幕方向。可以通过`...

    android 手机强制横竖屏

    在Android操作系统中,开发者可以为应用设置特定的屏幕方向,让用户在特定场景下强制使用横屏或竖屏模式。这通常涉及到Android系统提供的布局管理、传感器管理和Activity配置更改等相关知识。下面将详细介绍如何实现...

    Android 横竖屏切换

    禁止App内横竖屏切换的方法是在AndroidManifest.xml文件中对需要固定方向的Activity设置android:screenOrientation属性。该属性有几个可选值: 1. "unspecified":默认值,系统将根据设备的当前状态来判断显示方向...

    Fragment实现横竖屏布局

    2. **定义布局文件**:为Fragment创建一个对应的布局文件,例如`fragment_layout.xml`,在其中定义横竖屏所需的视图元素。 3. **在Activity中添加Fragment**:在Activity的布局文件中,使用标签或者在代码中动态...

    Android视频播放器(支持横竖屏切换)

    在Android平台上开发一款支持横竖屏切换的视频播放器是一项常见的任务,这涉及到对Android多媒体框架的深入理解和屏幕适配策略。"Android视频播放器(支持横竖屏切换)"这个项目的核心目标是创建一个能够根据设备...

    Android学习笔记(三六):横屏竖屏的切换.doc

    总结起来,Android中的横屏竖屏切换主要是通过创建针对不同屏幕方向的布局文件来实现的,系统会自动选择合适的布局。然而,屏幕旋转可能导致Activity的生命周期发生变化,因此需要妥善处理数据保存与恢复,以保证...

    Android中WebView播放网上视频,横竖屏切换

    下面我们将详细讨论如何在Android的WebView中播放网上视频,并处理横竖屏切换。 首先,我们需要了解WebView的基本用法。在XML布局文件中添加WebView组件,并在对应的Activity或Fragment中初始化并加载网页: ```...

    android 横竖屏切换生命周期

    android activity 执行屏幕横竖屏切换的时候activity声明周期执行的竖屏的时候点击横屏 09-04 15:54:27.675: I/yxd(6708): 应用程序执行了============onPause===方法===&gt;&gt; 09-04 15:54:27.685: I/yxd(6708): 应用...

    android经典开发案例60个(源码类).rar_Activity切换_android_android 横竖屏_android

    在res目录下,开发者可以创建layout-land(横屏)和layout-port(竖屏)子目录,分别存放横屏和竖屏的布局文件。系统会根据设备的当前方向自动选择合适的布局。 除了Activity的生命周期和横竖屏切换,这些案例可能...

    Fragment的使用,隐藏显示以及androidPad横竖屏切换

    本示例“Fragment的使用,隐藏显示以及androidPad横竖屏切换”将重点讲解如何操作Fragment以及处理平板设备上的横竖屏切换。 首先,让我们深入理解Fragment的生命周期。Fragment有自己的onCreate(), onCreateView()...

Global site tag (gtag.js) - Google Analytics