アクションバー (ABS ではなく元の Android) を使用し、ビューをルートレイアウト ( RelativeLayout
) に相対的に配置します。画面上の相対位置を計算するために、ビューのgetParent().getHeight()
/getParent().getWidth()
メソッドを使用しました。通常の ActionBar では正常に動作します。親の実際の高さを取得します (アクティビティの高さ - アクションバーの高さ、たとえば 800px ディスプレイで 690px)。しかし、splitActionBarWhenNarrow
オプションを使用し、下部のバーが表示されている場合、親と同じ高さになります (たとえば、800 ピクセルの画面で再び 690 ピクセル)。したがって、プログラムで配置された Vie の一部は、下部のアクション バーの下にあります。
アクションバーなしで親の実際の高さを取得するにはどうすればよいですか?
編集:
onWindowFocusChanged
アクティビティのメソッドで親の幅と高さを読み取ります。