所以我正在为Android做一个应用程序,我想强制平板电脑的横向方向和手机的纵向方向。然而,从我所看到的情况来看,我似乎只能做一个方向锁定,这违背了想要为设备提供两个不同方向的目的。
平板电脑:横向电话:纵向
说得更专业一点。
我在"res/ layout-xlarge-land“中有一个布局,用于在平板电脑上进行景观设计,我在"res/ layout”中有一个原始布局,我只想显式地为平板电脑使用layout -xlarge-land。没有其他东西,基本上只为xlarge设备使用景观。
谢谢!
发布于 2011-11-24 16:52:28
基于设备密度设置特定方向可能行不通,因为有些手机的密度比平板电脑高。
我所做的是通过在清单文件的activity标签中设置属性来禁用设备的方向传感器:
android:screenOrientation="nosensor"当你运行你的应用程序时,默认情况下手机的纵向设置和平板电脑的横向设置(因此它将从layout-xlarge-land中选择xml文件)。既然你已经设置了一个方向锁,它就会保持在这个方向。
发布于 2013-12-16 19:20:45
您可以测量设备的实际大小(以英寸为单位),然后使用以下命令以编程方式设置方向:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);或
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);要获得设备的物理大小,您可以使用代码发布的here。
它不是100%准确,但它足以决定运行应用程序的是哪种设备。
发布于 2011-10-06 06:25:21
我不完全确定你在说什么,但看起来你应该只测量分辨率并采取相应的行动。我的意思是,除了分辨率不同之外,你怎么知道它是手机还是平板电脑呢?
https://stackoverflow.com/questions/7668367
复制相似问题