平板电脑和手机之间的Titanium Android不同方向锁定

时间:2018-07-20 22:20:18

标签: android titanium orientation appcelerator

我正在使用Titanium,我的应用程序支持平板电脑和手机。对于手机,我需要将PORTRAIT方向anche用于平板电脑LANDSCAPE。

我尝试在tiapp.xml中配置android:screenOrientation =“ nosensor”,从AndroidManifest.xml和orientationModes中导入所有活动:在平板电脑情况下,在窗口配置中[Ti.UI.LANDSCAPE_LEFT],但没有任何结果。所有方向都处于活动状态。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

在以下几点上,这应该是相当正确的:

  • 由于您需要在运行时更改方向,因此除非您为手机和平板电脑创建单独的构建(我认为并非如此),否则无法从tiapp.xml中控制它。
  • 将tiapp.xml保留为默认值,并且不在那里设置任何方向。
  • 使用以下代码段在app.tss文件中对其进行处理。

    "Window[if=Alloy.isTablet]" : {
        orientationModes : [Ti.UI.LANDSCAPE_LEFT, Ti.UI.LANDSCAPE_RIGHT]
    }
    
    "Window[if=Alloy.isHandheld]" : {
        orientationModes: [Ti.UI.UPSIDE_PORTRAIT, Ti.UI.PORTRAIT]
    }
    
  • 仅当您使用XML创建Window控制器而不是使用Classic JS时,此解决方案才有效。

仔细检查代码,以免在其他任何地方设置方向,以避免出现任何问题。