方向改变事件或监听器 Android

8

有没有任何事件或监听器在方向改变时触发?

或者,如何找出手机的方向已经改变?

谢谢你

6个回答

4

以下答案可能是您最好的选择 :) - Phil Kearney

4
你需要阅读关于处理运行时变化的内容。该文档解释了旧的处理方向变化的方式。自从引入Fragments后,他们实现了一种新的方法来处理它(类似于旧的方法)- 但如果你不使用Fragments,使用它就没有意义了。

实际上我的应用程序问题是...我正在使用ViewPager,当方向改变时,详细片段不显示适当的数据...这就是为什么我想处理这种更改,你有其他替代方案的想法吗? - Nixit Patel
一个含糊的问题会得到一个含糊的答案 - 如果你想要一个具体的答案,你需要问一个具体的问题。也许在你的问题中加入一些代码,并告诉我们出了什么问题。 - kaspermoerch


1

0

-1

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

只需使用$(window).resize(function(){ stuff to do })

如果您需要具有动态调整大小事件并在某个时刻更改它,则可以使用以下结构

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...,这样您就不需要在想要更改它时一直解除绑定事件。


2
虽然你的答案非常完整,但这个问题特别标记了[android],而你提供的解决方案不是一个 Android SDK 的解决方案,而是一个 WebView 的解决方案。这个答案只会让事情变得更加复杂。 - Norman H

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接