React Native学习-控制横竖屏第三方组件:react-native-orientation

在项目中,有时候可能会想使不同的页面显示的横竖屏也不一样,比如前一段我做的《广播体操》的项目,在首页面,肯定是想使页面为竖屏显示,但是播放页面要为横屏显示,即使用户的手机可以转屏,我们的播放页面也要是横屏显示。

有这样的需求,我们可以借助react-native的第三方组件,react-native-orientation。

官方文档:https://github.com/yamill/react-native-orientation

安装

1.如果项目正在运行,先关闭模拟器和终端;

2.执行安装命令:npm install --save react-native-orientation;

3.执行命令:rnpm link

4.现在使用的版本为1.15.0,link执行过之后,我们要需要手动配置

iOS:

1.用Xcode打开项目,右键点击项目名称,选择 “Add Files to ‘项目名’ “ ;

2.找到路径文件:  项目文件夹/node_modules/react-native-orientation/RCTOrientation  ,将该文件添加上;

3.然后重新运行项目;

Android:

用法

componentWillMount() {
    // 判断横竖屏幕
    var initial = Orientation.getInitialOrientation();
    if (initial === ‘PORTRAIT‘) {
      //do stuff
    } else {
      //do other stuff
    }
    
    // 只允许竖屏
    Orientation.lockToPortrait();
    //只允许横屏
    Orientation.lockToLandscape();
}

Functions

  • lockToPortrait()
  • lockToLandscape()
  • lockToLandscapeLeft()
  • lockToLandscapeRight()
  • unlockAllOrientations()
  • getOrientation(function(err, orientation)

返回的结果有 LANDSCAPE PORTRAIT UNKNOWN PORTRAITUPSIDEDOWN

  • getSpecificOrientation(function(err, specificOrientation)

返回的结果有 LANDSCAPE-LEFT LANDSCAPE-RIGHT PORTRAIT UNKNOWN PORTRAITUPSIDEDOWN

官方文档中,还有一些事件的介绍,详细可以到官方文档上了解学习。

时间: 2024-10-06 19:03:29

React Native学习-控制横竖屏第三方组件:react-native-orientation的相关文章

React Native学习-调取摄像头第三方组件:react-native-image-picker

近期做的软件中图片处理是重点,那么自然也就用到了相机照相或者相册选取照片的功能. react-native中有image-picker这个第三方组件,但是0.18.10这个版本还不是太支持iPad. 这个组件同时支持photo和video,也就是照片和视频都可以用这个组件实现. 安装 npm install --save react-native-image-picker 安装过之后要执行rnpm link命令 用法  import ImagePickerManager from 'Native

android4.0 禁止横竖屏切换使用 android:configChanges="orientation|keyboardHidden"无效的解决方法

Android横竖屏幕切换时注意4.0以上配置configChanges要加上screenSize,要不还会调用onCreate(). <activity android:name=".MainActivity" android:configChanges="orientation|keyboardHidden|screenSize"/> android4.0 禁止横竖屏切换使用 android:configChanges="orientati

React.js学习之理解JSX和组件

在开启JSX的学习旅程前,我们先了解一下React的基本原理.React本质上是一个"状态机",它只关心两件事:更新DOM和响应事件,React不处理Ajax.路由和数据存储,也不规定数据组织的方式.它不是一个MVC的框架,只是MVC里的"V". 在每次状态改变时,使用JavaScript重新渲染整个页面会异常慢,这应该归咎于读取和更新DOM的性能问题.React使用虚拟DOM实现了一个非常强大的渲染系统,在React中对DOM只更新不读取.React以渲染函数为基

横竖屏任意切换 实战浅析

前话:前前后后弄了一下午,尝试各种解决方案(估摸有一二十种吧),最后误打误撞终于解决,鉴于在国内国外查找各种解决方法都未能解决,故有此文.(当然stackOverFlow 各种新奇的解决方案,我一一尝试实战,却未能解决,可能是英文还不够好,理解国外解决方案的不够透彻所致,不过稍感欣慰,还是解决了:不管黑猫白猫,能抓耗子就是好猫吧:还真是应了这句话) 需求:整个APP中界面以竖屏为主,且不能自动横竖屏切换,个别播放视频页面可以根据手机的方向横竖屏切换或固定横屏; 苹果系统支持横屏顺序默认读取pli

Android横竖屏切换及其对应布局加载问题

第一,横竖屏切换连带横竖屏布局问题: 如果要让软件在横竖屏之间切换,由于横竖屏的高宽会发生转换,有可能会要求不同的布局. 可以通过以下两种方法来切换布局: 1)在res目录下建立layout-land和layout-port目录,相应的layout文件名不变,比如:layout-land是横屏的layout,layout-port是竖屏的layout,其他的不用管,横竖屏切换时程序调用Activity的onCreate方法中的setOnContent(xxx),并自动加载相应的布局. 2)假如布

iOS 横竖屏切换(应对特殊需求)

iOS 中横竖屏切换的功能,在开发iOS app中总能遇到.以前看过几次,感觉简单,但是没有敲过代码实现,最近又碰到了,demo尝试了几种情况,这里就做下总结.注意 横屏两种情况是反的你知道吗? UIInterfaceOrientationLandscapeRight与UIInterfaceOrientationMaskLandscapeRight都代表横屏,Home键在右侧的情况:UIDeviceOrientationLandscapeLeft则是Home键在左侧. 一般情形 所有界面都支持横

Android横竖屏总结(转)

Android横竖屏总结(转) 横竖屏切换后Activity会重新执行onCreat函数,但是在Android工程的Mainfest.xml中加入android:screenOrientation="user" android:configChanges="orientation|keyboardHidden"之后,横竖屏切换之后就不会去执行OnCreat函数了,而是会去调用onConfigurationChanged(),这样我们就能控制横竖屏的切换了.或者在re

强制某个页面横竖屏

IOS代码管控APP页面横竖屏切换 2014-09-09 18:33 7683人阅读 评论(1) 收藏 举报  分类: iOS(381)  IOS如何使用代码管控APP页面横竖屏切换? 这个我写了个小demo,下载链接 http://code4app.com/ios/53c78e77933bf098108b4ea0 1.?首先是AppDelegate,这?里加载rootViewController?方法要变?下 : - (BOOL)application:(UIApplication*)appl

设备旋转---横竖屏切换

前提: 必须勾选上这两个 Left \ Right 选项; 如果不勾选, 代码怎么控制都不管用 不同页面实现& shouldAutorotate/supportedInterfaceOrientations 等方法不起作用, 不能控制横竖屏的切换 正常的实现逻辑中, 只需要在控制器A中实现以下 - (BOOL)shouldAutorotate { return NO; } - (UIInterfaceOrientationMask)supportedInterfaceOrientations {