次のようなビューをレイアウトしたいのですが、どうすればよいかわかりません。
- 画面の下部には、固定サイズ (全幅と高さの dp 数) の通常のビューがあります。
- 残りの垂直方向のスペースを埋めるために、glSurfaceView から継承するカスタム ビューを配置したいと思います。ただし、プログラムで設定される固定アスペクト比が必要であるという制限がありますが、アクティビティが作成される前に認識されます。(この場合、2:3 w:h であると仮定します)。
ここに私が想像しているものの小さな絵があります:
.----------------------.
| .--------------. |
| b | | b |
| g | | g |
| | | |
| i | MySurface | i |
| m | View | m |
| a | | a |
| g | (2:3 w:h) | g |
| e | | e |
| *--------------* |
|.--------------------.|
|| ||
|| SomeOtherView ||
|| ||
|*--------------------*|
*----------------------*
MySurfaceView の設定に関しては、通常の layout_width と layout_height は役に立たないと思います。なぜなら、画面が部分的にレイアウトされSomeOtherView
て配置されるまで、利用可能な画面サイズがわからないからです。
MySurfaceView
たとえば、使用可能な画面スペースを引数として渡し、ビューの幅と高さを設定する方法を決定できるようにするなど、オーバーライドしたい関数はありますか?
「インフレ」は私がここで探している正しい用語ですか? それは私が探しているものと関係があると思いますが、用語がよくわかりません。
私の研究の結果を以下に更新しました。正しい解決策の可能性があると思います。