Android:Androidを理解しようとしています:layout_weight
-
26-09-2019 - |
質問
ページを3つの部分に分割しようとしています。パーセンテージ値でそれをしたいのですが、それはAndroidによってサポートされていません。代わりに使用する必要があります android:layout_weight
. 。しかし、私はそれを理解し、それを正しくするのに苦労しています。特に、実際のサイズがどのように計算されるか。パーセンテージ値(0..100%)を取得する方法はありますか android:layout_weight
?
問題を説明するために、いくつかのケース(添付のスクリーンショットを参照)を実行しました。色付きのフィールドはすべてです <LinearLayout>
と android:layout_height="fill_parent"
, 、フル画面をそれらの間で分割したいからです。
ケース1
さて、簡単です。毎日 <LinearLayout>
33%を取得します。
ケース2
UPS?!最初の(黄色) <LinearLayout>
完全に消えますか?なんで?
ケース3
もう一度混乱しています。黄色 <LinearLayout>
戻ってきました。ただし、2つは最初です <LinearLayout>
重量が少ないと小さくなりますか?何が起こっている?
ケース4
私はこれのすべての背後にある数学が何であるかをまったく知りません。
解決
Android:Layout_Weightからパーセンテージ値(0..100%)を取得する方法はありますか?
もちろん。それらを最大100にします。
あなたの「パーセント値」のために、あなたは android:layout_height
内の個々のアイテムの LinearLayout
することが 0px
.
他のヒント
Android:layout_height = "fill_parent"をバーに使用する場合、利用可能なスペースを離れていません。 (彼らは親を埋めているので。)3つすべてが埋めるように設定されているため、要求された高さは実際には親の高さの3倍であるため、重量は負の残りのスペースに適用されます。これは、あなたが見ている奇妙な動作と、レイアウトを0pxに設定する理由を説明しています。