<?xml version="1.0" encoding="utf-8"?>

<!--
 * Copyright (C) 2011 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.
 -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:contentDescription="@string/test_5_Widgets_collection"
    android:orientation="vertical" >

    <CheckBox
        android:id="@+id/test_5_checkBox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/test5_CheckBox" />

    <Spinner
        android:id="@+id/test_5_spinner"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <ProgressBar
        android:id="@+id/test_5_progressBar"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <GridLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:columnCount="3" >

        <ImageButton
            android:id="@+id/test_5_imageButton"
            android:layout_column="0"
            android:layout_gravity="left"
            android:layout_row="0"
            android:src="@drawable/ic_launcher" />

        <RatingBar
            android:id="@+id/test_5_ratingBar"
            android:layout_column="1"
            android:layout_columnSpan="2"
            android:layout_gravity="left|bottom"
            android:layout_row="0" />

        <Button
            android:id="@+id/test_5_button2"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left|bottom"
            android:enabled="false"
            android:layout_row="0"
            android:text="@string/test5_Button_Disabled" />

        <Space
            android:layout_width="21dp"
            android:layout_height="1dp"
            android:layout_column="1"
            android:layout_row="0" />

        <Space
            android:layout_width="1dp"
            android:layout_height="21dp"
            android:layout_column="0"
            android:layout_row="0" />

        <Space
            android:layout_width="221dp"
            android:layout_height="15dp"
            android:layout_column="2"
            android:layout_row="1" />

        <ToggleButton
            android:id="@+id/test_5_toggleButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_column="2"
            android:text="@string/test5_ToggleButton" />
    </GridLayout>

    <SeekBar
        android:id="@+id/test_5_seekBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/test_5_button1"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:contentDescription="@string/test5_Button_Description"
        android:text="@string/test5_Button" />

</LinearLayout>
