【问题标题】:Titanium Appcelearator App is rendered in landscape mode even if Android's "ScreenLock" mode is enabled即使启用了 Android 的“ScreenLock”模式,Titanium Appcelarator 应用程序也会以横向模式呈现
【发布时间】:2014-04-02 06:35:10
【问题描述】:
我的 Titanium Appceleartor(版本 3.1.3)应用程序有纵向和横向两种方向。但在 Android 设备中,即使我启用了“屏幕旋转”模式,我的应用程序也会以两种方向模式呈现。设备“锁屏”时如何防止应用横屏渲染?
我的 TiApp.xml;
<activity android:alwaysRetainTaskState="true"
android:configChanges="keyboardHidden|Orientation"
android:label="SampleApp" android:name=".SampleAppActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
【问题讨论】:
标签:
android
titanium
titanium-mobile
appcelerator
【解决方案1】:
您需要为每个活动标签设置纵向方向
<activity android:alwaysRetainTaskState="true"
android:configChanges="keyboardHidden|Orientation"
android:screenOrientation="portrait"
android:label="SampleApp" android:name=".SampleAppActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
所以我建议使用自定义 android 清单。
【解决方案2】:
从 build/android 文件夹中复制您的 AndroidManifest.xml 文件并将其放入应用程序的 platform/android/ 文件夹中。如果文件夹不存在,则创建它们。现在在每个活动标签中添加一个android:screenOrientation="portrait",如下所示:
<activity android:name="YourActivityName"
android:label="YourActName" android:theme="@style/Theme.Titanium"
android:configChanges="keyboardHidden|orientation"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
【解决方案3】:
大家好,感谢您的帮助。我已经在我的 tiapp.xml 中添加了这些东西。但问题依然存在。我发现我已将 OrientationMode 属性设置为我的应用程序中的所有窗口,不应设置该属性,因为 Android 默认采用所有 4 个方向。我们不需要在代码中指定它。所以我删除了这个属性,现在一切正常..