`
熊滔爱孟涛静
  • 浏览: 122400 次
  • 性别: 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. }  
分享到:
评论

相关推荐

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

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

    播放器横竖屏切换

    作者kevindcw,源码DvideoPlay,播放器横竖屏切换,左右滑动手势快进,想要控制横竖屏切换,第一步首先创建一个继承自UINavigationController的类,重写方法。

    jQuery 实现网页整屏横向、纵向滚动切换特效.rar

    jQuery 控制网页整屏横向、垂直滚动切换,意思是,它与Tab大体上类似,但是TAB只控制某个Division标签,这一个控制的是整个网页,点击页面询问的序号,当前网页会滚动出去,然后第二屏滚动进来,形成连贯的滚屏效果...

    Android 屏幕横竖切换详解

    Android 屏幕横竖切换 Android 里面控制Activity的方向,只要在AndroidManifest.xml里面对应的Activity节点下加一句 android:screenOrientation=”landscape”(landscape是横屏,portrait竖屏)。  我凭这句话混了...

    Android(2.2/2.3系统)Gallery解决默认和横竖屏切换选中状态问题

     Gallery的Item使用的是一个ImageView+TextView,并且为其设置了selector,当使用setSelection设置时、横竖屏切换时Item的状态不会改变,这个目前在2.2/2.3系统中存在,高版本如4.0是不存在的。 正文  一、第一步...

    Flutter 控制屏幕旋转的实现

    flutter 为我们提供了方法来控制系统的横竖屏显示 SystemChrome.setPreferredOrientations([ DeviceOrientation.landscapeLeft, DeviceOrientation.landscapeRight, DeviceOrientation.portraitUp,

    浅谈android Fragment横竖屏翻转对重新加载的要求

    有时候,我们在同一个activity里面有很多fragment,在横竖屏的时候,有些fragment要求重新加载数据,有些不需要,如何简单控制这些需求,本人分享一点小经验,欢迎大家指正里面的错误。 大家都知道横竖屏翻转的时候...

    ZBOrientation:为SDK提供可支持横竖屏切换库

    专门为SDK构建UI接口提供横竖屏支持。 应用场景 我们在开发自己的SDK场景下,在别人接收我们开发的SDK时,SDK是不知道对方工程屏幕是怎样设定的, ZBO方向是无视对接方工程方向。 可以查看示例工程只支持竖屏,但是...

    iOS单个控制器横屏2

    1.实现全局支持竖屏,某个控制器页面允许横竖屏切换的功能2.是从ijk播放器项目中抽出的界面,利用masonry适配3.因为ijk库过大,该项目未上传,暂不支持视频播放

    iOS 单个控制器横屏

    简单的纯代码视频播放横竖屏布局 没有做ui。程序群居只支持竖屏,点击全屏按钮进行横竖屏切换并且随方向变化屏幕会自动旋转,带一个目录菜单列表,用于课程目录切换,其他的可以根据自己的需要自己去调整。

    android exoplayer 自定义界面,播放器

    自定义界面,横竖屏切换,进度条拖动快进,

    Android动态显示隐藏底部导航栏

    在Android4.2.2中,导航栏(也就是屏幕底部的三个按钮,home,back,recentapp)是系统应用SystemUi.apk的一部分,简言之,我们的需求就是让我们的app来控制SystemUi.apk,达到动态显示隐藏屏幕底部导航栏的效果。...

    VitamioDemo-master.rar

    Vitamio网络视频播放自定义控制器位置样式横竖屏切换手势控制声音大小及亮度 图片预览https://blog.csdn.net/mengshirui_/article/details/90375062

    Android 横竖屏处理的知识小结

    系统的设置项,一般可以设置为只允许竖屏或可旋转切换。 设备的物理传感器感应到的设备方向。 不同 App 里的代码对横竖屏的设置。 需要注意的一点是,这三个因素没有固定的优先级。所以即使系统的设置项中设置了...

    vue-video-player 解决微信自动全屏播放问题(横竖屏导致样式错乱问题)

    对于vue-video-player,从github上找到一段代码,直接放页面!可以了,视频展示出来了!开始下一个功能。。。。 这可能是大部分前端开发者一贯的思维模式,拿来一个插件,看着demo就做出来了,...横竖屏切换后,视频

    Android段opengl图片播放器

    Android端opengl图片播放器,可以暂定,快进,后退,以及音乐播放,音乐控制,屏幕亮度控制,横竖屏切换

    Android视频播放器

    3、完美切换小窗口、全屏,横竖屏切换,可在RecyclerView中无缝全屏. 4、手势滑动调节播放进度、亮度、声音. 5、支持清晰度切换. 6、可自定义控制界面. 7、对时间和电量进行监听 8、实现沉浸式状态栏 9、支持普通...

    videoview 横竖屏

    对videoview写了个控制器,对状态进行管理,需要横竖屏切换,需要对videoview的布局有点要求,博客地址:http://blog.csdn.net/paddyy/article/details/50563643

    ijkplayer.zip

    ijkplayer已经编译版本,支持https精简版,视频横竖屏切换,自动切换,滑动屏幕控制声音及亮度,可自己扩展

    MediaPlayer.rar

    MediaPlayer为Android环境下的媒体播放器,包括横竖屏切换,播放进度控制,进度提醒等功能

Global site tag (gtag.js) - Google Analytics