<!--
  Copyright 2013 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:orientation="vertical"
    android:showDividers="middle"
    android:divider="?android:dividerHorizontal">

    <TextView style="@style/Widget.DescriptionBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/intro_message" />

    <!--
        When a ListView has a choiceMode set, it will allow users to "choose"
        one or more items. The framework provides default list item layouts
        that show standard radio buttons or check boxes next to a
        single line of text:

        android.R.layout.simple_list_item_single_choice and
        android.R.layout.simple_list_item_multiple_choice.

        In some cases, you may want to customize this layout. When doing so,
        the root view must implement the Checkable interface.

        Lastly, remember to use padding on your ListViews to adhere to the standard
        metrics described in the Android Design guidelines. When doing so,
        you should set the android:scrollbarStyle such that the scrollbar
        doesn'isn't inset.
    -->
    <ListView android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:paddingLeft="@dimen/page_margin"
        android:paddingRight="@dimen/page_margin"
        android:scrollbarStyle="outsideOverlay"
        android:choiceMode="multipleChoice" />
</LinearLayout>
