* commit '52f0b5740e97777658859edb8489bc3f4e6c0b16': docs: Replaced deprecated fill_parent with match_parent.
116 lines
4.4 KiB
Plaintext
116 lines
4.4 KiB
Plaintext
page.title=Linear Layout
|
|
page.tags=linearlayout
|
|
@jd:body
|
|
|
|
<div id="qv-wrapper">
|
|
<div id="qv">
|
|
<h2>In this document</h2>
|
|
<ol>
|
|
<li><a href="#Weight">Layout Weight</a></li>
|
|
<li><a href="#Example">Example</a></li>
|
|
</ol>
|
|
|
|
<h2>Key classes</h2>
|
|
<ol>
|
|
<li>{@link android.widget.LinearLayout}</li>
|
|
<li>{@link android.widget.LinearLayout.LayoutParams}</li>
|
|
</ol>
|
|
</div>
|
|
</div>
|
|
|
|
<p>{@link android.widget.LinearLayout} is a view group that aligns all children in a single
|
|
direction, vertically or horizontally. You can specify the layout direction with the
|
|
<a href="{@docRoot}reference/android/widget/LinearLayout.html#attr_android:orientation">{@code
|
|
android:orientation}</a> attribute.</p>
|
|
|
|
<img src="{@docRoot}images/ui/linearlayout.png" alt="" />
|
|
|
|
<p>All children of a {@link android.widget.LinearLayout} are
|
|
stacked one after the other, so a vertical list will only have one child per
|
|
row, no matter how wide they are, and a horizontal list will only be one row
|
|
high (the height of the tallest child, plus padding). A {@link
|
|
android.widget.LinearLayout LinearLayout} respects <em>margin</em>s between children
|
|
and the <em>gravity</em> (right, center, or left alignment) of each child. </p>
|
|
|
|
|
|
<h2 id="Weight">Layout Weight</h2>
|
|
|
|
<div class="sidebox-wrapper">
|
|
<div class="sidebox">
|
|
<h3>Equally weighted children</h3>
|
|
<p>To create a linear layout in which each child uses the same amount of
|
|
space on the screen, set the <a
|
|
href="{@docRoot}reference/android/view/ViewGroup.LayoutParams.html#attr_android:layout_height"
|
|
>{@code android:layout_height}</a> of each view to {@code "0dp"} (for a
|
|
vertical layout) or the <a
|
|
href="{@docRoot}reference/android/view/ViewGroup.LayoutParams.html#attr_android:layout_width"
|
|
>{@code android:layout_width}</a> of each view to {@code "0dp"} (for a
|
|
horizontal
|
|
layout). Then set the <a
|
|
href="{@docRoot}reference/android/widget/LinearLayout.LayoutParams.html#attr_android:layout_weight"
|
|
>{@code android:layout_weight}</a> of each view to {@code "1"}.</p>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<p>{@link android.widget.LinearLayout} also supports assigning a
|
|
<em>weight</em> to individual children with the <a
|
|
href="{@docRoot}reference/android/widget/LinearLayout.LayoutParams.html#attr_android:layout_weight"
|
|
>{@code android:layout_weight}</a> attribute.
|
|
This attribute assigns an "importance" value to a view in
|
|
terms of how much space is should occupy on the screen. A larger weight value allows it to expand
|
|
to fill any remaining space in the parent view.
|
|
Child views can specify a weight value, and then any remaining space in the view group is
|
|
assigned to children in the proportion of their declared weight. Default
|
|
weight is zero.</p>
|
|
|
|
<p>For example, if there are three text fields and two of them declare a weight of 1, while the
|
|
other is given no weight, the third text field without weight will not grow and will only occupy the
|
|
area required by its content. The other two will expand equally to fill the space remaining after
|
|
all three fields are measured. If the third field is then given a weight of 2 (instead of 0), then
|
|
it is now declared more important than both the others, so it gets half the total remaining space,
|
|
while the first two
|
|
share the rest equally.</p>
|
|
|
|
|
|
<h2 id="Example">Example</h2>
|
|
|
|
<div class="figure" style="width:220px;margin-top:0">
|
|
<img src="{@docRoot}images/ui/sample-linearlayout.png" alt="" />
|
|
</div>
|
|
|
|
<pre>
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:paddingLeft="16dp"
|
|
android:paddingRight="16dp"
|
|
android:orientation="vertical" >
|
|
<EditText
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:hint="@string/to" />
|
|
<EditText
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:hint="@string/subject" />
|
|
<EditText
|
|
android:layout_width="match_parent"
|
|
android:layout_height="0dp"
|
|
android:layout_weight="1"
|
|
android:gravity="top"
|
|
android:hint="@string/message" />
|
|
<Button
|
|
android:layout_width="100dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_gravity="right"
|
|
android:text="@string/send" />
|
|
</LinearLayout>
|
|
</pre>
|
|
|
|
<p>For details about the attributes available to each child view of a {@link
|
|
android.widget.LinearLayout}, see {@link android.widget.LinearLayout.LayoutParams}.</p>
|
|
|
|
|