`
熊滔爱孟涛静
  • 浏览: 124822 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

控制横竖屏切换

阅读更多

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

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

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="com.boyaa.texas.app.activity" android:versionCode="1"
 android:versionName="1.0">
 <application android:icon="@drawable/icon" android:label="@string/app_name"
  android:debuggable="true">
  <activity android:name=".GameActivity" android:label="@string/app_name"
   android:screenOrientation="landscape" android:windowSoftInputMode="stateVisible|adjustPan"
   android:configChanges="orientation|keyboardHidden">
   <!--
    android:windowSoftInputMode就是用来避免输入法面板遮挡问题的;android:configChanges:当横竖屏切换时不会重新加载界面
   -->
   <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>
  </activity>
  <activity android:name="com.boyaa.texas.app.activity.GameRoomActivity" android:screenOrientation="landscape" android:windowSoftInputMode="stateVisible|adjustPan"
   android:configChanges="orientation|keyboardHidden"/>
 </application>

<uses-sdk android:minSdkVersion="4" />
 <uses-permission android:name="android.permission.INTERNET" />
 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
</manifest>


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

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

  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. }  
分享到:
评论

相关推荐

    Android应用源码之(横竖屏切换处理-IT计算机-毕业设计.zip

    在AndroidManifest.xml文件中,你可以为每个Activity设置`android:configChanges`属性来控制横竖屏切换的行为。例如,将其设置为`orientation`或`screenOrientation`,可以让Activity在屏幕方向改变时自己处理配置...

    iOS Object-c 实现界面横竖屏切换源代码

    本文将深入探讨如何使用Objective-C实现界面的横竖屏切换,并提供相关源代码分析。 首先,理解iOS中的屏幕方向管理是至关重要的。iOS系统提供了两种基本的屏幕方向:portrait(竖屏)和landscape(横屏)。每个应用...

    安卓 横竖屏切换源程序

    在Android开发中,横竖屏切换是一个常见的需求,尤其对于那些需要优化用户界面展示的应用来说。这个"安卓横竖屏切换源程序"提供了一个可复用的解决方案,可以帮助开发者轻松地将横竖屏切换功能集成到自己的应用中。...

    Android 横竖屏切换

    在Android开发中,横竖屏切换是一个十分常见但又复杂的功能。Android设备上的屏幕方向变化通常由物理重力感应触发,但也可以通过软件设置来控制。在没有关闭横竖屏切换功能的情况下,当系统触发屏幕方向改变时,当前...

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

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

    swift-这是一个iOS中播放器横竖屏切换的demo

    为了实现横竖屏切换,我们需要确保每个包含播放器的视图控制器都正确处理屏幕方向。这通常涉及到以下步骤: 1. **配置Info.plist**:在项目的Info.plist文件中,设置“Supported interface orientations”项,允许...

    横竖屏切换

    在移动设备上,横竖屏切换是一项常见的功能,它允许用户根据不同的应用场景和需求自由地在竖...在Android和iOS平台上,开发者都有多种方式来实现和控制横竖屏切换,同时需要注意布局适配、性能优化以及用户体验的提升。

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

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

    surfaceview 支持横竖屏切换 视屏适配屏幕

    在处理视频播放时,特别是涉及横竖屏切换和屏幕适配时,开发者需要考虑多个关键点以确保良好的用户体验。 首先,SurfaceView在横竖屏切换时的处理至关重要。当设备旋转时,Android系统会销毁当前的Activity并重新...

    android 二维码扫描 支持横竖屏切换Demo

    本Demo主要展示了如何利用zxing库实现一个支持横竖屏切换的二维码扫描功能。ZXing,全称Zebra Crossing,是一个开源的条码处理库,支持多种格式的条码和二维码扫描。 首先,我们需要在项目中集成zxing库。这里使用...

    android安卓横竖屏切换效果、webview加载以及生命周期监测

    综上所述,“LandscapePortraitDemo”项目将展示如何在Android Studio中实现Activity的横竖屏切换,处理WebView的加载,以及对Activity生命周期的精细控制。通过对这些关键点的掌握,开发者能够构建出适应各种屏幕...

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

    然而,实现这样的功能并不总是那么简单,尤其是在处理屏幕旋转(横竖屏切换)时可能会遇到问题。下面我们将详细讨论如何在Android的WebView中播放网上视频,并处理横竖屏切换。 首先,我们需要了解WebView的基本...

    二维码扫描修改横竖屏切换后的好用代码

    标题提到的"二维码扫描修改横竖屏切换后的好用代码"主要关注的是如何在屏幕旋转时保持二维码扫描功能的稳定性和用户体验。以下是一些相关的关键知识点: 1. **二维码扫描库**:在Android中,常用的二维码扫描库有...

    电信设备-一种控制移动终端横竖屏显示模式的方法及移动终端.zip

    此外,系统级的自动旋转开关也允许用户全局控制横竖屏切换。这种方法需要设备操作系统支持,并通过软件接口提供给应用程序使用。 3. **优化用户体验**: 在移动终端设计中,考虑横竖屏切换时的用户体验至关重要。...

    网络视频的播放,横竖屏切换,进度、时间显示

    在Android开发中,实现“网络视频的播放,横竖屏切换,进度、时间显示”是一项常见的任务,这涉及到多媒体处理、用户界面设计以及设备适配等多个方面。以下将详细讲解这些功能的实现方法。 首先,视频播放的核心是...

    android横竖屏切换总结

    本文将详细讲解如何在Android中实现横竖屏切换,并讨论如何禁止或控制这种切换。 首先,Android系统默认支持横竖屏的自动切换,这主要依赖于设备的传感器。在AndroidManifest.xml中,你可以通过在activity标签中...

    支持横竖屏切换的视频播放器demo

    在iOS开发中,创建一个支持横竖屏切换的视频播放器是常见的需求,尤其是在开发多媒体应用或者需要视频功能的应用时。这个"支持横竖屏切换的视频播放器demo"就是一个典型的示例,它展示了如何利用苹果系统播放器来...

    ios-播放器横竖屏切换,左右滑动手势快进.zip

    想要控制横竖屏切换,第一步首先创建一个继承自UINavigationController的类,重写方法 第二步在UIViewController里加上 - (BOOL)shouldAutorotate{return NO;} DScreenDirectionHorizontal,//横屏 ...

    android_横竖屏切换demo

    在Android开发中,横竖屏切换是常见的需求,尤其在设计多样的用户界面和优化用户体验时。本示例"android_横竖屏切换demo"旨在教你如何在Android应用中实现屏幕方向的自由转换,包括从横屏切换到竖屏以及从竖屏返回横...

Global site tag (gtag.js) - Google Analytics