8

オリエンテーションの時間が変更されたときに発生するイベントまたはリスナーはありますか?

または、電話の向きが変更されたことを確認する方法は?

ありがとうございました

4

6 に答える 6

4

私が知る限り、これにはリスナーがいます。

http://developer.android.com/reference/android/view/OrientationListener.htmlをご覧ください

それがクラスです。

それが役に立ったことを願っています。

于 2011-12-12T14:18:28.500 に答える
4

ランタイムの変更の処理 を読む必要があります。

向きの変更などを処理する古い方法について説明します。

が導入されて以来Fragments、彼らはそれを行う新しい方法を実装しました (古い方法に似ています) - しかし、Fragmentsそれを使用しないと意味がありません。

于 2011-12-12T14:30:26.753 に答える
2

代わりに OrientationEventListener クラスを使用できます!! http://developer.android.com/reference/android/view/OrientationEventListener.html

于 2013-01-24T11:11:48.603 に答える
1

向きの変更がレイアウトの再表示をトリガーするタイミングにもっと興味がある場合は、これをチェックしてみてください: http://developer.android.com/reference/android/view/View.OnLayoutChangeListener.html

「レイアウト処理によりビューのレイアウト境界が変更されたときに呼び出されるコールバックのインターフェイス定義。」

于 2014-02-13T14:23:10.047 に答える
-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 を変更します...そして、変更したいときに常にイベントのバインドを解除する必要はありません

于 2013-02-28T09:14:53.243 に答える