2016-11-03 68 views
1

您好,我想知道如何在nativescript中設置設備方向。 具體而言,我希望我寫的應用程序始終保持相同的方向(縱向),以便旋轉設備不會導致它進入橫向。如何在nativescript中設置方向

我試過nativescript-orientation插件和setOrientation。

var orientation = require('nativescript-orientation'); 
console.log(JSON.stringify(orientation));// outputs JS: {} 
orientation.setOrientation("portrait"); 

但是我得到錯誤「無法讀取的未定義的屬性setOrientation。 TNS插件列表中顯示了插件安裝。此外,我試圖消除platforms/android目錄,並具有相同的結果運行tns platform add android

我也嘗試從裏面App_resources看起來像這樣

推杆 android:screenOrientation="portrait"各種組合成的AndroidManifest.xml沒有成功。

的AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="__PACKAGE__" 
    android:versionCode="1" 
    android:versionName="1.0"> 

    <supports-screens 
     android:smallScreens="true" 
     android:normalScreens="true" 
     android:largeScreens="true" 
     android:xlargeScreens="true"/> 

    <uses-sdk 
     android:minSdkVersion="17" 
     android:targetSdkVersion="__APILEVEL__"/> 

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="android.permission.INTERNET"/> 

    <application 
     android:screenOrientation="portrait" 
     android:name="com.tns.NativeScriptApplication" 
     android:allowBackup="true" 
     android:icon="@drawable/icon" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme"> 

     <activity 
      android:name="com.tns.NativeScriptActivity" 
      android:label="@string/title_activity_kimera" 
      android:configChanges="keyboardHidden|orientation|screenSize" 
      android:theme="@style/LaunchScreenTheme"> 
      <meta-data android:name="SET_THEME_ON_LAUNCH" android:resource="@style/AppTheme" /> 

      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:name="com.tns.ErrorReportActivity"/> 
    </application> 
</manifest> 
+0

修改完AndroidManifest.xml後,您是否完成了'build'?此外,您可能需要卸載設備/模擬器上的當前.apk文件,然後運行或運行新版本的「livesync」。清單選項是從我所知的強制android應用程序的一個方向的更好的選擇。所以它會工作,但如果你沒有卸載舊的.apk,你可能在設備上有緩存問題:) –

+0

我已經刪除了apk並使用'tns run android'運行它。此外,我添加了android manifest.xml,以防萬一我錯過了某些東西 – xerotolerant

回答

10

我的應用程序只是縱向。對於android,您只需在activity標籤內添加android:screenOrientation="portrait",AndroidManifest.xml標籤。對於iOS,open Xcode -> Select project on project navigator (left panel) -> Select target in middle panel -> Choose "General" tab -> Tick only "Portrait" in Deployment info section

+0

感謝您的建議,但是我已經將它添加到了Android清單中,並且它似乎不起作用。我用清單更新了我的帖子。也許我把國旗放在了錯誤的地方?你可以看看它,並告訴我嗎? – xerotolerant

+0

我把它放在'activity'標籤裏面。你把它放在哪裏? –

+0

我用整個文件編輯了原文。 – xerotolerant

相關問題