方向更改事件或监听器Android

问题描述:

在方向更改时是否有任何事件或侦听器触发?方向更改事件或监听器Android

或者 如何找出手机的方向是否改变?

谢谢

您需要详细阅读Handling Runtime Changes

它解释了处理诸如方向改变之类的东西的旧方法。

由于Fragments被引入,他们已经实现了一种新的方法(类似于旧的方法) - 但是如果你不使用Fragments它使用它没有意义。

+0

实际上我的应用程序的问题是...我使用viewpager,当方向更改细节片段时,不显示适当的数据...这就是为什么我想要处理这种变化,你有没有其他选择的想法。 –

+0

一个模糊的问题给出了一个模糊的答案 - 如果你想要一个特定的答案,你需要问一个具体的问题。也许给你的问题添加一些代码,并告诉我们出了什么问题。 – kaspermoerch

+0

无需解决问题 感谢您的回复 –

据我知道有一个监听器这一点,

退房http://developer.android.com/reference/android/view/OrientationListener.html

也就是说类具有经过那里看看。

希望有帮助。

+0

哦~~感谢的人... –

+1

I类弃用。 – kaspermoerch

+0

下面的答案可能是你最好的选择:) –

您可以改为使用OrientationEventListener类! http://developer.android.com/reference/android/view/OrientationEventListener.html

在某些手机上,实际调整大小事件之前,会发生更改事件触发。当你需要知道何时调整窗体大小时,不要建议你使用方向更改事件。

只需使用$(窗口).resize(函数(){东西做})

如果妳需要有动态调整大小事件,并改变它在某些时候ü可以使用结构类似

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'); 
    }); 
} 

基本上当u需要改变调整事件 - >变化ResizeEventHandlerInstance ......你不会需要所有的时间来解除绑定事件当u想改变它

+2

虽然您的答案已完成,但此问题专门用[android]标记,您提供的解决方案不是Android SDK解决方案,而是WebView解决方案。这个答案只是混浊了水。 –

如果您更感兴趣的是,当一个方向改变触发器重新显示布局,您可能需要t o检查一下:http://developer.android.com/reference/android/view/View.OnLayoutChangeListener.html

“当布局处理导致视图的布局边界发生变化时要调用的回调的接口定义。”

因为180°旋转不被onConfigurationChanged检测,

看到更好的答案在这里: How do I detect screen rotation