如何在所有移动平台上的钛应用中修复设备旋转?任何对官方doco的引用都会非常有用!
所以我不想那么多“禁用旋转”,因为“只允许应用程序以特定方向运行”(在我的情况下是纵向模式)
欢呼声
答案 0 :(得分:5)
目前官方网站已关闭,但您希望查找“定位模式”。以下代码将我的窗口锁定为仅在我的应用程序中的纵向模式。
loginWin = Ti.UI.createWindow({
orientationModes: [Ti.UI.PORTRAIT]
});
// Required to fix Android still?
loginWin.orientationModes = [Ti.UI.PORTRAIT];
答案 1 :(得分:4)
全面回答 - 当加载屏幕启动时,这仍然会允许方向更改。钛似乎把这个靠近他们的胸部,但是这里有:
在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元素
处于同一级别即
<?xml version="1.0" encoding="UTF-8"?>
<ti:app xmlns:ti="http://ti.appcelerator.org">
...
<ios>
...
</ios>
<android>
...
</android>
</ti:app>
我仍然不知道如何阻止android(可能还有ios)重新定位启动画面,如果有人知道怎么让我知道这个秘密!!!