画面が回転した後、ビュー オブジェクトの 1 つの高さが変更されました。高さの値をピクセル単位で知りたいです。
このonConfigurationChanged
メソッドは、ビューが回転を終了する前に呼び出される可能性があります。したがって、このメソッドでビュー サイズを測定すると、サイズは以前の回転の値のままです。
問題は、アクティビティを再構築せずに回転終了後にビュー サイズの値を取得する方法です。
画面が回転した後、ビュー オブジェクトの 1 つの高さが変更されました。高さの値をピクセル単位で知りたいです。
このonConfigurationChanged
メソッドは、ビューが回転を終了する前に呼び出される可能性があります。したがって、このメソッドでビュー サイズを測定すると、サイズは以前の回転の値のままです。
問題は、アクティビティを再構築せずに回転終了後にビュー サイズの値を取得する方法です。
考えられる解決策の 1 つ:
private int viewHeight = 0;
View view = findViewByID(R.id.idOfTheView);
view.getViewTreeObserver().addOnGlobalLayoutListener(
new OnGlobalLayoutListener(){
@Override
public void onGlobalLayout() {
viewHeight = view.getHeight();
}
また
@Override
public void onResume(){
int viewHeight = 0;
View view = findViewByID(R.id.idOfTheView);
viewHeight = view.getHeight();
}