首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >手机为纵向,平板电脑为横向(Android-布局)

手机为纵向,平板电脑为横向(Android-布局)
EN

Stack Overflow用户
提问于 2011-10-06 06:11:27
回答 5查看 12K关注 0票数 23

所以我正在为Android做一个应用程序,我想强制平板电脑的横向方向和手机的纵向方向。然而,从我所看到的情况来看,我似乎只能做一个方向锁定,这违背了想要为设备提供两个不同方向的目的。

平板电脑:横向电话:纵向

说得更专业一点。

我在"res/ layout-xlarge-land“中有一个布局,用于在平板电脑上进行景观设计,我在"res/ layout”中有一个原始布局,我只想显式地为平板电脑使用layout -xlarge-land。没有其他东西,基本上只为xlarge设备使用景观。

谢谢!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-11-24 16:52:28

基于设备密度设置特定方向可能行不通,因为有些手机的密度比平板电脑高。

我所做的是通过在清单文件的activity标签中设置属性来禁用设备的方向传感器:

代码语言:javascript
复制
android:screenOrientation="nosensor"

当你运行你的应用程序时,默认情况下手机的纵向设置和平板电脑的横向设置(因此它将从layout-xlarge-land中选择xml文件)。既然你已经设置了一个方向锁,它就会保持在这个方向。

票数 41
EN

Stack Overflow用户

发布于 2013-12-16 19:20:45

您可以测量设备的实际大小(以英寸为单位),然后使用以下命令以编程方式设置方向:

代码语言:javascript
复制
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

代码语言:javascript
复制
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

要获得设备的物理大小,您可以使用代码发布的here

它不是100%准确,但它足以决定运行应用程序的是哪种设备。

票数 2
EN

Stack Overflow用户

发布于 2011-10-06 06:25:21

我不完全确定你在说什么,但看起来你应该只测量分辨率并采取相应的行动。我的意思是,除了分辨率不同之外,你怎么知道它是手机还是平板电脑呢?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7668367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档