首页 > 其他分享 >指定Activity的默认显示方向

指定Activity的默认显示方向

时间:2023-05-05 09:56:33浏览次数:47  
标签:orientation 指定 默认 方向 API user Activity device sensor

在Manifest文件中指定 screenOrientation

 android:screenOrientationThe orientation of the activity's display on the device. The system ignores this attribute if the activity is running in multi-window mode.

The value can be any one of the following strings:

<activity>  |  Android Developers (google.cn)

 

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

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

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

 

"unspecified" The default value. The system chooses the orientation. The policy it uses, and therefore the choices made in specific contexts, might differ from device to device.
"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. The sensor is used even if the user has locked sensor-based rotation. Added in API level 9.
"sensorPortrait" Portrait orientation, but can be either normal or reverse portrait based on the device sensor. The sensor is used even if the user has locked sensor-based rotation. However, depending on the device configuration, upside-down rotation might not be allowed. Added in API level 9.
"userLandscape" Landscape orientation, but can be either normal or reverse landscape based on the device sensor and the user's preference. Added in API level 18.
"userPortrait" Portrait orientation, but can be either normal or reverse portrait based on the device sensor and the user's preference. However, depending on the device configuration, upside-down rotation might not be allowed. Added in API level 18.
"sensor" The device orientation sensor determines the orientation. 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, don't rotate to all four possible orientations, by default. To use all four orientations, use "fullSensor". The sensor is used even if the user locked sensor-based rotation.
"fullSensor" The device orientation sensor determines the orientation for any of the four orientations. This is similar to "sensor", except this allows for any of the four possible screen orientations regardless of what the device normally supports. For example, some devices don't normally use reverse portrait or reverse landscape, but this enables those orientations. Added in API level 9.
"nosensor" The orientation is determined without reference to a physical orientation sensor. The sensor is ignored, so the display doesn't rotate based on how the user moves the device.
"user" The user's current preferred orientation.
"fullUser" If the user has locked sensor-based rotation, this behaves the same as user, otherwise it behaves the same as fullSensor and allows any of the four possible screen orientations. Added in API level 18.
"locked"

Locks the orientation to its current rotation, whatever that is. Added in API level 18.

标签:orientation,指定,默认,方向,API,user,Activity,device,sensor
From: https://www.cnblogs.com/wanglongjiang/p/17373224.html

相关文章

  • 采购订单上字段的默认
    今天接到用户一个需求,需要在开立采购订单时,把下面几个字段给默认上去.操作方法:1.查询字段参数ID,得到ID如下值Purchase.Org=EKOPurch.Group=EKGCompanycode=BUKPlant=WRK    查找方法:在字段上按F1查看技术信息(以采购组织为例),记录下参数ID.2.设置参数ID的......
  • Linux调用so库文件里面的指定函数
    代码示例:#include<stdio.h>#include<stdlib.h>#include<dlfcn.h>typedefint(*Func)(void*);intcallFunc(dtInterp_ta){void*handle=dlopen("*.so",RTLD_LAZY);Funcfunc=(Func)dlsym(handle,"funcName");......
  • [vscode] 代码提示不能默认选中第一项问题
    [vscode]代码提示不能默认选中第一项问题码代码时发现一个问题,有些代码提示无法选中第一项。如果是所有代码提示都无法选中第一项,直接百度。这里说的是另一种,部分代码无法默认选中。在输入类似class=“”这类代码的代码自动补全回车后,输入代码触发代码提示后不会默认选中第......
  • [oeasy]python0048_注释_comment_设置默认编码格式
    注释Comment回忆上次内容使用了版本控制git制作备份进行回滚 尝试了嵌套的控制结构层层控制 不过除非到不得以尽量不要太多层次的嵌套 这样从顶到底含义明确而且还扁平 扁平也能含义明确......
  • .net 中使用OpenCvSharp 判断一张图片中是否包含指定图标
    1.添加包引用<ItemGroup><PackageReferenceInclude="OpenCvSharp4"Version="4.7.0.20230115"/><PackageReferenceInclude="OpenCvSharp4.Extensions"Version="4.7.0.20230115"/><PackageRef......
  • mybatis批量插入支持默认值和自定义id生成策略的免写sql插件
    最近做项目时用了免写sql的插件但是发现批量操作不满足现有需求。所以,在原有基础之上扩展了批量的操作支持[支持插入默认值和自定义id生成策略]。使用方法如下:一:在pom文件中引入jar配置<dependency><groupId>io.gitee.wang_ming_yi</groupId><artifactId>easy_mapper</......
  • Django如何更换默认的数据库?
    问题:Django默认的sqlite3不好用。如何更换呢?解决:第一步:配置文件在setting中--更改databaseDATABASES={#'default':{#'ENGINE':'django.db.backends.sqlite3',#'NAME':BASE_DIR/'db.sqlite3',#......
  • 各种常用的默认端口号 总结
    端口号的范围是从1~65535。其中1~1024是被RFC3232规定好了的,被称作“众所周知的端口”(WellKnownPorts);从1025~65535的端口被称为动态端口(DynamicPorts),可用来建立与其它主机的会话,也可由用户自定义用途。详细版常见端口0端口|无效端口,通常用于分析操作系统1端口|传输......
  • moment指定时间
    1.startOf( )设置开始时间moment().startOf('day').subtract(15,'d)//指定前15天的日期moment().startOf('day')2.endOf( )设置结束时间moment().endOf('day').add(1,'d')//指定后一天的日期moment().endOf('hour')......
  • k8s 使用 RBAC 鉴权 建立不同用户使用k8s。只有指定命名空间的权限
    k8s使用RBAC鉴权https://kubernetes.io/zh-cn/docs/reference/access-authn-authz/rbac/#创建sa账号kubectlcreatesasa-test-20230408#使用sa账号创建pod资源[root@master01sa]#catpod.yamlapiVersion:v1kind:Podmetadata:name:sa-test-pod-20230408......