如何在所有移动平台上修复钛应用程序中的设备旋转?任何对官方 doco 的引用都会非常有用!
所以我不想像“只让应用程序以特定方向运行”那样“禁用旋转”(在我的情况下是纵向模式)
干杯
如何在所有移动平台上修复钛应用程序中的设备旋转?任何对官方 doco 的引用都会非常有用!
所以我不想像“只让应用程序以特定方向运行”那样“禁用旋转”(在我的情况下是纵向模式)
干杯
官方网站目前已关闭,但您需要查找“定向模式”。以下代码在我的应用程序中将我的窗口锁定为仅纵向模式。
loginWin = Ti.UI.createWindow({
orientationModes: [Ti.UI.PORTRAIT]
});
// Required to fix Android still?
loginWin.orientationModes = [Ti.UI.PORTRAIT];
完整的答案 - 这仍然允许在加载屏幕启动时改变方向。钛似乎把这个放在胸前,但这里有:
在 tiap.xml 文件中,您需要对第一个缩进级别的 android 元素进行更改
<android xmlns:android="http://schemas.android.com/apk/res/android">
<manifest>
<application>
<activity
android:configChanges="keyboardHidden|orientation"
android:name="org.appcelerator.titanium.TiActivity" android:screenOrientation="portrait"/>
<activity
android:configChanges="keyboardHidden|orientation"
android:name="org.appcelerator.titanium.TiTranslucentActivity"
android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent"/>
<activity
android:configChanges="keyboardHidden|orientation"
android:name="org.appcelerator.titanium.TiModalActivity"
android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent"/>
<activity
android:configChanges="keyboardHidden|orientation"
android:name="ti.modules.titanium.ui.TiTabActivity" android:screenOrientation="portrait"/>
<activity
android:name="ti.modules.titanium.ui.android.TiPreferencesActivity" android:screenOrientation="portrait"/>
</application>
</manifest>
</android>
上面的代码可以放入(当然,首先删除现有的 android 元素!)并且应该可以工作。
这里的诀窍是使用
android:screenOrientation="portrait"
它将方向设置为纵向。当然,另一种选择是“风景”。我认为,如果您不考虑这一点,则默认行为是允许方向切换。
当然,iOS 更容易。
在您需要的同一个 tiapp.xml 文件中
<ios>
<plist>
<dict>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
</array>
</dict>
</plist>
</ios>
这将替换您当前 ios 元素中的任何内容,并且与 android 元素处于同一级别
IE
<?xml version="1.0" encoding="UTF-8"?>
<ti:app xmlns:ti="http://ti.appcelerator.org">
...
<ios>
...
</ios>
<android>
...
</android>
</ti:app>
我仍然不知道如何阻止android(可能还有ios)重新定位启动画面,如果有人知道如何让我知道这个秘密!