【问题标题】:Is it possible to lock an android app in portrait mode only on phones with cordova?是否可以仅在带有科尔多瓦的手机上以纵向模式锁定 android 应用程序?
【发布时间】:2014-11-17 13:22:34
【问题描述】:

我希望我的应用仅支持以下方向:

  • 在手机上:纵向或反向
  • 在平板电脑上:纵向、反向纵向、横向、反向横向

我发现了很多关于如何在 Android 应用程序中执行此操作的信息,但在cordova 应用程序中却没有。不修改Java代码有没有办法做到这一点?

我已经通过将以下内容添加到项目的 plist 文件中解决了 iOS 上的这个问题:

<key>UISupportedInterfaceOrientations</key>
<array>
  <string>UIInterfaceOrientationPortrait</string>
  <string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
  <string>UIInterfaceOrientationPortrait</string>
  <string>UIInterfaceOrientationLandscapeLeft</string>
  <string>UIInterfaceOrientationPortraitUpsideDown</string>
  <string>UIInterfaceOrientationLandscapeRight</string>
</array>

plist 文件是由cordova 创建的,它是一个xml 文件,所以很容易制作一个脚本,每次构建时添加这些配置。

但在 Android 上,AndroidManifest.xml 中似乎只有一个属性适用于手机和平板电脑。这样做的科尔多瓦方式是什么?

【问题讨论】:

  • 我想知道你是否明白这一点,我需要一个类似的解决方案,并且使用 cordova-yoik-screenorientation 插件似乎对我不起作用。我认为无法通过内置的 cordova 属性来做到这一点。
  • @jflay 确实,我现在做的就是在项目创建时修改cordova创建的java文件。

标签: android cordova device screen-orientation


【解决方案1】:

它非常简单,最简单的方法是手动定义它......

<activity
        android:name="com.example.yourApplicationy"
        android:label="@string/app_name"
        ...
        android:screenOrientation="portrait" >
        ...
</activity>

在应用程序的清单文件中手动定义。 Cordova 不会覆盖您的更改!

【讨论】:

  • 如何使用这种方法为平板电脑设置与手机不同的方向?
【解决方案2】:

是的,只能在带有 Cordova/PhoneGap 应用的手机上以纵向模式锁定 Android 应用

首先,打开你的 Cordova/PhoneGap 应用目录,然后找到 config.xml 文件添加这个语法&lt;preference name="orientation" value="portrait" /&gt;

以及更多信息:Config.xml - Apache Cordova, preference

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-11
    • 2017-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-04
    • 1970-01-01
    相关资源
    最近更新 更多