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

<!-- Copyright (C) 2016 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:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

  <LinearLayout
    android:id="@+id/changeHeader"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

  <View
    android:background="@color/tab"
    android:layout_height="1dp"
    android:layout_width="match_parent"/>

  <android.support.v4.view.ViewPager
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="0px"
    android:layout_weight="1">

    <android.support.v4.view.PagerTabStrip
      android:id="@+id/tabStrip"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_gravity="top"
      android:paddingBottom="4dp"
      android:paddingTop="4dp"
      android:textColor="@color/tab"
      android:textAppearance="@style/PagerTabStripText"
      android:background="@color/tabBackground"/>
  </android.support.v4.view.ViewPager>
</LinearLayout>
