歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android基礎教程:禁止橫屏豎屏切換

Android基礎教程:禁止橫屏豎屏切換

日期:2017/3/1 10:34:23   编辑:Linux編程

在Android中要讓一個程序的界面始終保持一個方向,不隨手機方向轉動而變化的辦法: 只要在AndroidManifest.xml裡面配置一下就可以了。

在AndroidManifest.xml的activity(需要禁止轉向的activity)配置中加入android:screenOrientation=”landscape”屬性即可(landscape是橫向,portrait是縱向)。

另外,android中每次屏幕方向切換時都會重啟Activity,所以應該在Activity銷毀前保存當前活動的狀態,在Activity再次Create的時候載入配置。要避免在轉屏時重啟activity,可以通過在androidmanifest.xml文件中重新定義方向(給每個activity加上android:configChanges=”keyboardHidden|orientation”屬性),並根據Activity的重寫onConfigurationChanged(Configuration newConfig)方法來控制,這樣在轉屏時就不會重啟activity了,而是會去調用onConfigurationChanged(Configuration newConfig)這個方法。

示例代碼如下:

[html]
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3. package="com.liananse.ideal"
  4. android:versionCode="1"
  5. android:versionName="1.1" >
  6. <uses-sdk android:minSdkVersion="10" />
  7. <application
  8. android:icon="@drawable/ic_launcher"
  9. android:label="@string/app_name" >
  10. <activity
  11. android:label="@string/app_name"
  12. android:name="com.liananse.WelcomeActivity"
  13. android:screenOrientation="portrait"
  14. android:configChanges="keyboardHidden|orientation">
  15. <intent-filter >
  16. <action android:name="android.intent.action.MAIN" />
  17. <category android:name="android.intent.category.LAUNCHER" />
  18. </intent-filter>
  19. </activity>
  20. <activity
  21. android:name="com.liananse.activity.MainActivity"
  22. android:screenOrientation="portrait"
  23. android:configChanges="keyboardHidden|orientation"></activity>
  24. <activity
  25. android:name="com.liananse.activity.MusicActivity"
  26. android:screenOrientation="portrait"
  27. android:configChanges="keyboardHidden|orientation"></activity>
  28. <activity
  29. android:name="com.liananse.activity.config.IdealAbout"
  30. android:theme="@android:style/Theme.NoTitleBar"
  31. android:screenOrientation="portrait"
  32. android:configChanges="keyboardHidden|orientation"></activity>
  33. <activity
  34. android:name="com.liananse.activity.config.IdealSetting"
  35. android:theme="@android:style/Theme.NoTitleBar"
  36. android:screenOrientation="portrait"
  37. android:configChanges="keyboardHidden|orientation"></activity>
  38. <activity
  39. android:name="net.youmi.android.AdActivity"
  40. android:configChanges="keyboard|keyboardHidden|orientation"
  41. android:screenOrientation="portrait"/>
  42. <meta-data android:name="YOUMI_CHANNEL" android:value="0" />
  43. </application>
  44. <uses-permission android:name="android.permission.INTERNET"/>
  45. <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
  46. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
  47. <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
  48. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  49. </manifest>
Copyright © Linux教程網 All Rights Reserved