0

この質問で回答されているように、LinearLayout で layout_width (または高さ) を layout_weight と組み合わせて 0dp に設定する効果を知っています。

0dp がパフォーマンスの向上と見なされるのはなぜですか?

ただし、こちらの Android デベロッパー ガイドのサンプル コードでは

http://developer.android.com/guide/topics/ui/layout/relative.html

Spinner の layout_width を 0dp に設定するのはなぜですか? では、この背後にある理由やトリックは正確には何ですか? これについての私の推測では、スピナーの水平位置は相対属性によって既に決定されている可能性があるため、上記の場合と同じ理由で 0dp として指定するだけです。ただし、これに関する実際のドキュメントが見つからないように見えるため、まだ少し混乱しています。

4

3 に答える 3

3

子ビューが (RelativeLayout で) 両側に固定されている場合、幅は無視されます。この場合、 はその幅を認識しSpinner ています。

android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/times"
于 2013-06-28T16:48:55.283 に答える
1

私はいくつかのプロジェクトでもこのトリックを見てきました。その理由は、「重み」を使用して LinearLayout でそれを行う理由とまったく同じですが、ここで重要な属性は次のとおりです。 android:layout_toLeftOf="@+id/times"「重み」が線形で行うのとまったく同じトリックを行います。レイアウトなので、これは、特定の幅をハードコーディングせずにandroid:layout_alignParentLeft="true"、残りのすべてのスペースを取るという言い方です...android:layout_toLeftOf="@+id/times"

よろしく!

于 2013-06-28T16:42:49.340 に答える
-1

layout_weight を使用している間は 0dp を使用します。これは、その属性が無視され、layout_weight に従って行われるためです。

于 2013-06-28T16:42:23.037 に答える