我会如何听取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. Tab变化监听器android
- 2. Android - 在位置发生变化时从听众回收当前位置
- 3. 听取属性变化的事件
- 4. 计算方位变化
- 5. 爪哇 - 听变量变化
- 6. 从位置监听器调用和获取oncreate方法的位置android
- 7. 处理方向变化android
- 8. Android VideoView方向变化
- 9. Android GPS位置监听器
- 10. 聆听Backbone.js中的变化
- 11. JavaFX的:听widthProperty变化Controller.java
- 12. 音量变化监听器?
- 13. 收听GPS状态变化
- 14. Android听众序列化
- 15. Android位置:PendingIntent与位置监听器
- 16. Android动作栏位置变化
- 17. 检测android webview的URL位置变化
- 18. 听抽象变量的变化
- 19. 听全局变量变化XAML
- 20. EXC_BAD_ACCESS/KERN_INVALID_ADDRESS与方位变化有关
- 21. Android onTouch监听器背景颜色变化
- 22. 倾听wifi变化的Android应用程序
- 23. 位置变化的图像变化
- 24. jQuery JavaScript有没有一种方法来监听cookies的变化
- 25. 如何让ViewHolder监听屏幕方向的变化?
- 26. RxJava Android处理屏幕方向变化
- 27. 的Android TabActivity和方向变化
- 28. Android的方向变化和布局
- 29. Android的方向变化的WebView
- 30. Android AsyncTask阻止UI方向变化
@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