<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2008 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at
  
          http://www.apache.org/licenses/LICENSE-2.0
  
     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<!-- Demonstrates using a LinearLayout background to group related
     TextViews, EditTexts, and Buttons. -->

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <!-- Top label/button text field. -->

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:addStatesFromChildren="true"
        android:gravity="center_vertical"
        android:paddingRight="0dip"
        android:background="@android:drawable/edit_text">

        <!--
            TextView label goes at the left.
        -->
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/linear_layout_10_from"
            android:textColor="?android:attr/textColorSecondary"
            android:textAppearance="?android:attr/textAppearanceLargeInverse"
        />

        <!--
            EditText goes in between.
        -->
        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:singleLine="true"
            android:background="@null"
        />

        <!--
            The button goes at the right.
        -->
        <ImageButton
            style="@android:style/Widget.Button.Inset"
            android:src="@android:drawable/star_big_on"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="2dip"
            android:layout_marginRight="2dip"
            android:layout_marginBottom="2dip"
            android:padding="10dip"
        />

    </LinearLayout>

    <!-- Bottom label/button text field.  (Identical to the top one
         except for the label.)  -->

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:addStatesFromChildren="true"
        android:gravity="center_vertical"
        android:paddingRight="0dip"
        android:background="@android:drawable/edit_text">

        <!--
            TextView label goes at the left.
        -->
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/linear_layout_10_to"
            android:textColor="?android:attr/textColorSecondary"
            android:textAppearance="?android:attr/textAppearanceLargeInverse"
        />

        <!--
            EditText goes in between.
        -->
        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:singleLine="true"
            android:background="@null"
        />

        <!--
            The button goes at the right.
        -->
        <ImageButton
            style="@android:style/Widget.Button.Inset"
            android:src="@android:drawable/star_big_on"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="2dip"
            android:layout_marginRight="2dip"
            android:layout_marginBottom="2dip"
            android:padding="10dip"
        />

    </LinearLayout>

</LinearLayout>
