我會如何聽取Android中的方向更改?並在用戶切換到風景時做某些事情?Android:聽取方位變化?
回答
你有兩個選擇:
使用的OrientationEventListener,其中有一個叫onOrientationChanged方法。
使用配置的變化:
在你的清單,把:
<activity android:name=".HelloAndroid"
android:label="@string/app_name"
android:configChanges="orientation">
而且,在代碼中,覆蓋onConfigurationChanged
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setContentView(R.layout.main);
// TODO
}
下面是關於它的好tutorial 。
在您的活動中,您可以重寫此方法來偵聽方向更改並實現自己的代碼。
public void onConfigurationChanged (Configuration newConfig)
的Configuration
類具有int常量ORIENTATION_LANDSCAPE
和ORIENTATION_PORTRAIT
,存在對於可以檢查NEWCONFIG這樣的:
super.onConfigurationChanged(NEWCONFIG);
int orientation=newConfig.orientation;
switch(orientation) {
case Configuration.ORIENTATION_LANDSCAPE:
//to do something
break;
case Configuration.ORIENTATION_PORTRAIT:
//to do something
break;
}
Huang - 您的建議運行良好,只需進行一次編輯。您需要在方法的開頭添加'super.onConfigurationChanged(newConfig);'以避免導致異常。 – 2011-11-21 20:11:50
是的,超級電話是必要的。在eclipse中,這行會自動添加。這就是我省略的原因。 – Huang 2011-11-22 00:01:48
從未呼籲:S。即使我把'android:configChanges =「orientation」'放在清單 – IgniteCoders 2016-11-17 01:57:55
由於Android 3.2的,你還需要添加 「屏幕尺寸」 在androidmanifest特定活動
所以XML格式的活動宣言將成爲
<activity android:name=".ExampleActivity"
android:label="@string/app_name"
android:configChanges="orientation|screenSize">
- 1. Android:聽變化的變化
- 2. Tab變化監聽器android
- 3. Android監聽GPS狀態的變化?
- 4. Android - 在位置發生變化時從聽衆回收當前位置
- 5. 全屏定位變化android
- 6. 聽取屬性變化的事件
- 7. 計算方位變化
- 8. 爪哇 - 聽變量變化
- 9. 從位置監聽器調用和獲取oncreate方法的位置android
- 10. Android VideoView方向變化
- 11. 處理方向變化android
- 12. Android GPS位置監聽器
- 13. Android的位置監聽器
- 14. Android:位置偵聽器
- 15. 聆聽Backbone.js中的變化
- 16. 角 - 上偵聽transcluded變化
- 17. 音量變化監聽器?
- 18. 收聽GPS狀態變化
- 19. JavaFX的:聽widthProperty變化Controller.java
- 20. 聽DOM中的變化
- 21. Android聽衆序列化
- 22. 聽取Marionette對象中變量的變化?
- 23. Android位置:PendingIntent與位置監聽器
- 24. Android動作欄位置變化
- 25. 重新定位變化Android碎片
- 26. 媒體查詢定位變化在Android
- 27. 檢測android webview的URL位置變化
- 28. 聽全局變量變化XAML
- 29. 聽抽象變量的變化
- 30. MAPKIT當前用戶位置變化的監聽器Swift 3
@ferostar待辦事項配置更改報告設備方向更改或ui方向更改?第一個看起來很清楚,因爲它使用了傳感器管理器。我不確定第二個。 – Mark13426 2016-10-26 19:19:58
從API級別13開始,清單configChanges屬性需要爲:「orientation | screenSize」。請參閱此答案以獲取更多信息:https://stackoverflow.com/questions/5620033/onconfigurationchanged-not-getting-called – user885232 2017-10-20 16:18:18