0

xml レイアウトで使用しているアプリにカスタム View クラスがあります。xml でこのビューを使用している場所はどこでも、コンテナを引き伸ばしたくはありませんが、利用可能なスペースを埋める必要があります。少しわかりやすくするために例を示します。カスタム ビューの後に TextView を配置して、LinearLayout を水平方向に設定しています。TextView は LinearLayout を引き伸ばして、必要なスペースを占有し、それ以上占有しないようにします。TextView によって利用可能になった垂直方向のスペースをカスタム ビューで占有したいと考えています。TextView の内容が原因で、最終的に 50px の高さになったとしましょう。したがって、LinearLayout はこの高さまで引き伸ばされます (余白やパディングは考慮されません)。そのため、コンテナーを「押し込む」のではなく、その高さまで引き伸ばすことができることをビューに認識させたいだけです。

基本クラスの測定メソッド (onMeasure など) をオーバーライドせずに、私のビューは実際にはできるだけ多くのスペースを占めるように伸びています。私はすでに wrap_content と fill_parent をたくさんいじっているので、View クラスのメジャー メソッドの 1 つで何かをする必要があると思います。

4

1 に答える 1

0

あなたのビューは weight 属性をサポートしていますか? http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html LinearLayout の android src を見て、これを理解することができます。

于 2010-05-11T21:35:12.127 に答える