`

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提供的纯粹的过滤行为,并且在设备仅支持某个特定的方向时,平台本身并不控制应用程序是否能够被按照。

分享到:
评论

相关推荐

    分享SDK使用说明文档1

    android:screenOrientation="behind" android:theme="@android:style/Theme.Translucent.NoTitleBar" /&gt; android:name="com.tencent.tauth.AuthActivity" android:launchMode="singleTask" android:noHistory...

    Android学习笔记(三七):再谈屏幕切换.doc

    若需要类似iPhone那样的自动屏幕旋转,需要在`AndroidManifest.xml`中指定`android:screenOrientation`属性,但具体实现可能还需要配合传感器API来检测设备方向变化。 总结来说,Android应用在处理屏幕旋转时,必须...

    android rokon引擎介绍

    * `forceLandscape()`:横 屏,须在 AndroidManifest.xml 中设置属性 android:screenOrientation="landscape" * `forcePortrait()`:竖 屏,须在 AndroidManifest.xml 中设置属性 android:screenOrientation=...

    分享几个Android开发有用的程序代码

    以下是一些关键知识点的详细说明: 1. **WebView加载本地和远程HTML以及URL** WebView是Android中用于展示网页内容的一个组件。它可以加载本地存储的HTML文件,也可以加载网络上的URL。在Android中加载本地HTML,...

    android 学习心得

    ### 一、Android-Manifest.xml – activity详细说明 `Android-Manifest.xml` 文件是每个Android应用的核心配置文件之一,用于向Android系统声明应用的各种组件和权限需求等。其中 `&lt;activity&gt;` 标签用于定义应用...

    Android App支付系列(二):支付宝SDK接入详细指南(附官方支付demo)

    android:screenOrientation="behind" /&gt; android:name="com.alipay.sdk.auth.AuthActivity" android:configChanges="orientation|keyboardHidden|navigation" android:exported="false" android:...

    Android应用级小知识.doc

    以下是对这些知识点的详细说明: 一、关于`onConfigurationChanged()`的使用 1. 当Android设备从横屏(landscape)切换到竖屏(portrait)或反之时,系统通常会重新创建Activity来适应配置变化。如果在...

    Android支付宝支付的示例代码

    android:screenOrientation="behind" android:windowSoftInputMode="adjustResize|stateHidden" /&gt; android:name="com.alipay.sdk.app.H5AuthActivity" android:configChanges="orientation|keyboardHidden|...

    wyw-银联手机支付控件使用指南(Android平台Jar包集成)

    - **screenOrientation**:屏幕方向设置。 - **configChanges**:配置更改处理。 - **excludeFromRecents**:是否从最近使用的应用列表中排除。 以上步骤完成后,即可在Android应用中集成银联手机支付功能。开发者...

    TabHost使用方法

    android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBar" android:windowSoftInputMode="stateHidden"&gt; &lt;action android:name="android.intent.action.MAIN"/&gt; &lt;category ...

    关于自适应屏幕方向和大小的一些经验.zip

    在AndroidManifest.xml文件中,可以通过设置标签的android:screenOrientation属性来指定屏幕方向,如"portrait"(竖屏)、"landscape"(横屏)或"sensor"(根据设备传感器自动旋转)。 接下来,文档可能会讨论到...

    Android开发微信APP支付功能的要点小结

    以下是一些核心知识点的详细说明: 1. **基础概念**: - **包名(Package Name)**:这是Android应用的唯一标识,在创建项目时设定,需在微信支付平台进行配置。 - **签名(Signature)**:对应于APK的数字签名,...

    横竖屏切换

    默认情况下,Android会自动处理屏幕旋转,但可以通过`android:screenOrientation`属性来强制固定屏幕方向,如`portrait`(竖屏)或`landscape`(横屏)。 2. 动态切换:除了在Manifest中设置,还可以在代码中动态...

    OrientationChanges:一个演示应用程序,用于说明如何在Android上处理方向更改

    一个演示应用程序,用于说明如何在Android上处理方向更改。 该怎么办: 您可以签出并运行此应用,以更好地了解旋转Android设备时到底发生了什么。 当您运行该应用程序时,您将看到一个带有按钮列表的屏幕,每个...

    Android下如何使用百度地图sdk

    以下是对【标题】"Android下如何使用百度地图sdk"和【描述】中提到的知识点的详细说明: 1. **百度地图Android SDK**:这是一套为Android 2.1及以上版本设备设计的应用程序接口,它允许开发者构建具有地图服务和...

    Android Camera 方向

    `build.gradle`文件是Android项目的构建配置,其中可能包含了支持不同屏幕方向的设置,如`defaultConfig`下的`screenOrientation`属性。例如,如果希望应用始终在横屏模式下运行,可以设置为`screenOrientation = ...

    基于Android的关于自适应屏幕方向和大小的一些经验.zip

    同时,可以在AndroidManifest.xml中为每个Activity声明screenOrientation属性,指定其默认方向。 4. **动态调整布局** 利用ViewGroup的onMeasure()方法和LayoutParams,可以在运行时动态调整布局的大小和位置。这...

    Android屏幕适配

    ### Android屏幕适配详解 #### 一、资源文件夹命名方式及匹配规则 在进行Android应用开发时,屏幕适配是一项极为重要的工作。为了确保应用能够在不同尺寸、分辨率的设备上展现出良好的用户体验,开发者需要对资源...

    android 在线播放视频

    以下是一些关键知识点的详细说明: 1. **ListView与Adapter**: ListView是Android中用于显示可滚动列表的视图组件,而Adapter则负责将数据源与ListView的视图进行绑定。在这个项目中,你需要创建一个自定义Adapter...

Global site tag (gtag.js) - Google Analytics