質問

ページを3つの部分に分割しようとしています。パーセンテージ値でそれをしたいのですが、それはAndroidによってサポートされていません。代わりに使用する必要があります android:layout_weight. 。しかし、私はそれを理解し、それを正しくするのに苦労しています。特に、実際のサイズがどのように計算されるか。パーセンテージ値(0..100%)を取得する方法はありますか android:layout_weight?

問題を説明するために、いくつかのケース(添付のスクリーンショットを参照)を実行しました。色付きのフィールドはすべてです <LinearLayout>android:layout_height="fill_parent", 、フル画面をそれらの間で分割したいからです。

ケース1

alt text

さて、簡単です。毎日 <LinearLayout> 33%を取得します。

ケース2

alt text

UPS?!最初の(黄色) <LinearLayout> 完全に消えますか?なんで?

ケース3

alt text

もう一度混乱しています。黄色 <LinearLayout> 戻ってきました。ただし、2つは最初です <LinearLayout> 重量が少ないと小さくなりますか?何が起こっている?

ケース4

alt text

私はこれのすべての背後にある数学が何であるかをまったく知りません。

役に立ちましたか?

解決

Android:Layout_Weightからパーセンテージ値(0..100%)を取得する方法はありますか?

もちろん。それらを最大100にします。

あなたの「パーセント値」のために、あなたは android:layout_height 内の個々のアイテムの LinearLayout することが 0px.

他のヒント

Android:layout_height = "fill_parent"をバーに使用する場合、利用可能なスペースを離れていません。 (彼らは親を埋めているので。)3つすべてが埋めるように設定されているため、要求された高さは実際には親の高さの3倍であるため、重量は負の残りのスペースに適用されます。これは、あなたが見ている奇妙な動作と、レイアウトを0pxに設定する理由を説明しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top