是否有任何事件或侦听器触发@方向时间更改?
或者,如何发现手机的方向改变了?
谢谢你
据我所知,有一个听众,
查看http://developer.android.com/reference/android/view/OrientationListener.html
那是类看看那里。
希望有帮助。
您需要阅读处理运行时更改。
它解释了处理方向变化等事情的旧方法。
自Fragments
推出以来,他们已经实现了一种新的方法(类似于旧方法) - 但如果您不使用它,使用Fragments
它就没有任何意义。
您可以改用 OrientationEventListener 类! http://developer.android.com/reference/android/view/OrientationEventListener.html
如果您对方向更改何时触发重新显示布局更感兴趣,您可能需要查看:http: //developer.android.com/reference/android/view/View.OnLayoutChangeListener.html
“当视图的布局边界由于布局处理而发生变化时,将调用回调的接口定义。”
由于 onConfigurationChanged 未检测到 180° 旋转,
在此处查看更好的答案: 如何检测屏幕旋转
在某些手机上,方向更改事件在实际调整大小事件之前触发。当您需要知道何时调整表单大小时,不建议您使用方向更改事件。
只需使用 $(window).resize(function(){ 要做的事情 })
如果您需要动态调整大小事件并在某些时候更改它,您可以使用这样的结构
function ResizeEventHandler (){
var resizeEvent = function(){}
this.ResizeEvent = function(value){
if (value!=null) resizeEvent = value;
else return resizeEvent()
}
}
var ResizeEventHandlerInstance = new ResizeEventHandler();
$(window).resize(function(){ ResizeEventHandlerInstance.ResizeEvent(); });
function YourDinamicalEventSetterFunction(){
ResizeEventHandlerInstance.ResizeEvent(function(){
alert('resized');
});
}
基本上当您需要更改调整大小事件时 -> 更改 ResizeEventHandlerInstance... 当您想要更改它时,您不需要一直取消绑定事件