`

android:screenOrientation的说明

 
阅读更多

在Android的官方文档当中,对android:screenOrientation的说明如下:

 

android:screenOrientationThe orientation of the activity's display on the device.

The value can be any one of the following strings:

"unspecified" The default value. The system chooses the orientation. The policy it uses, and therefore the choices made in specific contexts, may differ from device to device.
"user" The user's current preferred orientation.
"behind" The same orientation as the activity that's immediately beneath it in the activity stack.
"landscape" Landscape orientation (the display is wider than it is tall).
"portrait" Portrait orientation (the display is taller than it is wide).
"reverseLandscape" Landscape orientation in the opposite direction from normal landscape.Added in API level 9.
"reversePortrait" Portrait orientation in the opposite direction from normal portrait.Added in API level 9.
"sensorLandscape" Landscape orientation, but can be either normal or reverse landscape based on the device sensor. Added in API level 9.
"sensorPortrait" Portrait orientation, but can be either normal or reverse portrait based on the device sensor. Added in API level 9.
"sensor" The orientation is determined by the device orientation sensor. The orientation of the display depends on how the user is holding the device; it changes when the user rotates the device. Some devices, though, will not rotate to all four possible orientations, by default. To allow all four orientations, use "fullSensor".
"fullSensor" The orientation is determined by the device orientation sensor for any of the 4 orientations. This is similar to "sensor" except this allows any of the 4 possible screen orientations, regardless of what the device will normally do (for example, some devices won't normally use reverse portrait or reverse landscape, but this enables those). Added in API level 9.
"nosensor" The orientation is determined without reference to a physical orientation sensor. The sensor is ignored, so the display will not rotate based on how the user moves the device. Except for this distinction, the system chooses the orientation using the same policy as for the "unspecified" setting.

Note: When you declare one of the landscape or portrait values, it is considered a hard requirement for the orientation in which the activity runs. As such, the value you declare enables filtering by services such as Google Play so your application is available only to devices that support the orientation required by your activities. For example, if you declare either "landscape","reverseLandscape", or "sensorLandscape", then your application will be available only to devices that support landscape orientation. However, you should also explicitly declare that your application requires either portrait or landscape orientation with the <uses-feature> element. For example, <uses-feature android:name="android.hardware.screen.portrait"/>. This is purely a filtering behavior provided by Google Play (and other services that support it) and the platform itself does not control whether your app can be installed when a device supports only certain orientations.

译文为:

 

android:screenOrientation

Activity在屏幕当中显示的方向。属性值可以是下表中列出的一个值:

 

"unspecified" 默认值,由系统来选择方向。它的使用策略,以及由于选择时特定的上下文环境,可能会因为设备的差异而不同。
"user" 使用用户当前首选的方向。
"behind" 使用Activity堆栈中与该Activity之下的那个Activity的相同的方向。
"landscape" 横向显示(宽度比高度要大)
"portrait" 纵向显示(高度比宽度要大)
"reverseLandscape" 与正常的横向方向相反显示,在API Level 9中被引入。
"reversePortrait" 与正常的纵向方向相反显示,在API Level 9中被引入。
"sensorLandscape" 横向显示,但是基于设备传感器,既可以是按正常方向显示,也可以反向显示,在API Level 9中被引入。
"sensorPortrait" 纵向显示,但是基于设备传感器,既可以是按正常方向显示,也可以反向显示,在API Level 9中被引入。
"sensor" 显示的方向是由设备的方向传感器来决定的。显示方向依赖与用户怎样持有设备;当用户旋转设备时,显示的方向会改变。但是,默认情况下,有些设备不会在所有的四个方向上都旋转,因此要允许在所有的四个方向上都能旋转,就要使用fullSensor属性值。
"fullSensor" 显示的方向(4个方向)是由设备的方向传感器来决定的,除了它允许屏幕有4个显示方向之外,其他与设置为“sensor”时情况类似,不管什么样的设备,通常都会这么做。例如,某些设备通常不使用纵向倒转或横向反转,但是使用这个设置,还是会发生这样的反转。这个值在API Level 9中引入。
"nosensor" 屏幕的显示方向不会参照物理方向传感器。传感器会被忽略,所以显示不会因用户移动设备而旋转。除了这个差别之外,系统会使用与“unspecified”设置相同的策略来旋转屏幕的方向。

 

注意:在给这个属性设置的值是“landscape”或portrait的时候,要考虑硬件对Activity运行的方向要求。正因如此,这些声明的值能够被诸如Google Play这样的服务所过滤,以便应用程序只能适用于那些支持Activity所要求的方向的设备。例如,如果声明了“landscape”、“reverseLandscape”、或“sensorLandscape”,那么应用程序就只能适用于那些支持横向显示的设备。但是,还应该使用<uses-feature>元素来明确的声明应用程序所有的屏幕方向是纵向的还是横行的。例如:<uses-feature android:name=”android.hardware.screen.portrait”/>。这个设置由Google Play提供的纯粹的过滤行为,并且在设备仅支持某个特定的方向时,平台本身并不控制应用程序是否能够被按照。

分享到:
评论

相关推荐

    Android XML設置屏幕方向(android:screenOrientation)详解

    注意:Android只支持270度旋转。 &lt;activity android:name=.MyActivity android:label=@string/app_name android:screenOrientation=portrait&gt; android:screenOrientation设定该活动的方向, 该值可以是任何一个...

    android 横竖屏限制的配置方法

    只需要在AndroidManifest.xml文件中加入android:screenOrientation属性限制。ndroid:screenOrientation=”landscape”是限制此页面横屏显示, ndroid:screenOrientation=”portrait”是限制此页面数竖屏显示。 例如...

    Android代码-仿微信app.rar

    android:screenOrientation="portrait" android:theme="@style/horizontal_slide" android:windowSoftInputMode="adjustResize"&gt; android:name=...

    Android屏幕旋转适配

    代码解析 http://blog.csdn.net/leejizhou/article/details/51233342

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

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

    fullSensor

    Expecting ‘android:screenOrientation=”unspecified”‘ or ‘”fullSensor”‘ for this activity so the user can use the application in any orientation and provide a great experience on Chrome OS ...

    Android 屏幕横竖切换详解

    android:screenOrientation=”landscape”(landscape是横屏,portrait竖屏)。  我凭这句话混了一年,基本都可以的,但是这几天我发现这招不是万能的了。  项目里面有一个横屏播放视频的PlayAcitivity,我和之前...

    Activity代理框架AyoActivityNoManifest.zip

     android:screenOrientation="portrait"  android:theme="@style/AppTheme"  &gt;     android:name="android.intent.action.MAIN" /&gt;   android:name="android.intent.category.LAUNCHER" /&gt;    ...

    Android横竖屏切换实例总结

    Android横竖屏切换在手机开发中比较常见,很多软件在开发过程中为了避免横竖屏切换时引发不必要的麻烦,通常禁止掉横竖屏的切换,即通过在AndroidManifest.xml中设置activity中的android:screenOrientation属性值来...

    Android之横竖屏切换

    android:screenOrientation属性,有以下几个参数: "landscape": 横屏显示 (宽比高长) "portrait": 竖屏显示 (高比宽长)

    android视频旋转相关知识总结

    当数据量较大时,在屏幕旋转时,一般都采用两种方式避免Activity从新... 如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的 AndroidManifest.xml中找到你所指定的Activity中加上android:screenOrientation属性

    android 横竖屏切换生命周期

    为了避免activity 重新加载过程中有闪屏的现象,则需要再清单文件中配置该activity 的属性 android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation|screenSize",详细信息请参阅...

    Android调用第三方QQ登录代码分享

    本文为大家分享了调用QQ登录的相关代码,希望对大家有帮助,减少项目开发的时间,具体内容如下 ... ... &lt;activity android:name=...android:screenOrientation=portrait android:theme=@android:style/Them

    uCrop:Android图像裁剪库

    uCrop-Android图像裁剪库该项目旨在提供最终且灵活的图像裁剪体验。...activity android:name="com.yalantis.ucrop.UCropActivity" android:screenOrientation="portrait" android:theme="@style/Them

    Android实现固定屏幕显示的方法

    找到这名代码: 代码如下:android:screenOrientation=”portrait” portrait表示横向,landscape表示纵向 如果要使Activity的View界面全屏,只需要将最上面的信号栏和Activity的Title栏隐藏掉即可,隐藏Title栏的...

    Android app启动时黑屏或者白屏的原因及解决办法

    1、产生原因 其实显示黑屏或者白屏实属正常,这是因为还没加载到布局文件,就已经显示了window窗口背景,黑屏白屏就是window窗口背景。... &lt;item name=android:screenOrientation&gt;portrait &lt;item name=android:win

    解析Android横竖屏切换的问题

    在竖屏时怎么显示),当然最简单的办法就是在项目的 AndroidManifest.xml中找到你所指定的activity 中加上 只竖屏显示的话(android:screenOrientation=”portrait”) 只横屏显示的话(android:screenOrienta

    fragment+viewpager_fragment

    最近在做一个平板项目的时候使用了fragment嵌套viewpager,viewpager又嵌套fragment的方法,中途也遇到一些问题,现在...pad在屏幕切换时的问题:在注册activity时加上这个android:screenOrientation="sensorLandscape

    Android Zxing 转换竖屏扫描且提高识别率的方法

    最近的一个Android需要用到扫码功能,用的是Zxing开源库。...android:screenOrientation=portrait 2&gt;. CameraManager类中的getFramingRectInPreview()方法,将left, right, top, bottom改变。 //竖屏 rect.l

Global site tag (gtag.js) - Google Analytics