画面が回転した後、ビューオブジェクトの1つの高さが変更され、高さの値をピクセルで知りたいと思います。onConfigurationchanged()メソッドの後に呼び出されるもの
onConfigurationChanged
メソッドは、ビューの回転を終了する前に呼び出される可能性があります。だから私はこのメソッドでビューのサイズを測定する場合、サイズはまだ前に回転の値です。
問題は、回転終了後にビューサイズの値を取得する方法ですが、アクティビティを再構築することはありません。
画面が回転した後、ビューオブジェクトの1つの高さが変更され、高さの値をピクセルで知りたいと思います。onConfigurationchanged()メソッドの後に呼び出されるもの
onConfigurationChanged
メソッドは、ビューの回転を終了する前に呼び出される可能性があります。だから私はこのメソッドでビューのサイズを測定する場合、サイズはまだ前に回転の値です。
問題は、回転終了後にビューサイズの値を取得する方法ですが、アクティビティを再構築することはありません。
一つの可能な解決策:
private int viewHeight = 0;
View view = findViewByID(R.id.idOfTheView);
view.getViewTreeObserver().addOnGlobalLayoutListener(
new OnGlobalLayoutListener(){
@Override
public void onGlobalLayout() {
viewHeight = view.getHeight();
}
OR
@Override
public void onResume(){
int viewHeight = 0;
View view = findViewByID(R.id.idOfTheView);
viewHeight = view.getHeight();
}
あなたの答えをありがとう、私はAndroidManifest.xmlファイルの** android:configChanges = "orientation | screenSize" **を設定してからonResume()が実行されないと思います。私はOnGlobalLayoutListenerの方法を研究します。 – user2614801
'OnResume()'はオリエンテーションが変更されたときに常に呼び出されます。アクティビティ全体が再作成されるからです。 – g00dy
私はちょうど回転についてのプログラミングガイドの記事をもう一度読んでいます。 APIレベル12より上では設定変更によってアクティビティが再開されないと言われました。 参照のアドレスはhttp://developer.android.com/guide/topics/resources/runtime-changes.htmlです。この記事の にはこのような段落 これらの設定のいずれかが変更されると、MyActivityは再起動しません。代わりに、MyActivityはonConfigurationChanged()の呼び出しを受け取ります。 ...... – user2614801
それが回転した後に呼ばれていますので、あなたは常に、 'OnResume()'メソッドでこれを確認することができます。 – g00dy
あなたの答えに感謝します。AndroidManifest.xmlファイルにアンドロイド:configChanges = "orientation | screenSize"を使用しているので、OnResume()メソッドが実行されていないようです。私はOnResumeにブレークポイントを設定しましたが、批准すると停止しませんでした。 – user2614801