<?xml version="1.0" encoding="utf-8"?>
<!--
  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.
-->

<resources>

    <!--
        This is the styled theme.

        It extends from Theme.AppCompat.Light, but it could extend from any of
        the Theme.AppCompat themes depending on your color scheme. This theme can be applied to
        your application or individual activities in the AndroidManifest.xml. In this sample it is
        set on the application.

        This differs from the version of this theme in 'res/values', as we revert back to
        setting the attributes from the android namespace in ICS+.
    -->

    <style name="Theme.Styled" parent="@style/Theme.AppCompat.Light">
        <item name="android:actionBarItemBackground">@drawable/selectable_background</item>
        <item name="android:actionBarTabStyle">@style/Widget.Styled.ActionBar.TabView</item>
        <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
        <item name="android:actionDropDownStyle">
            @style/Widget.Styled.Spinner.DropDown.ActionBar
        </item>
        <item name="android:dropDownListViewStyle">@style/Widget.Styled.ListView.DropDown</item>
        <item name="android:popupMenuStyle">@style/Widget.Styled.PopupMenu</item>
    </style>

    <style name="Widget.Styled.ActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
        <item name="android:background">@drawable/ab_solid_styled</item>
        <item name="android:backgroundStacked">@drawable/ab_stacked_solid_styled</item>
        <item name="android:backgroundSplit">@drawable/ab_bottom_solid_styled</item>
        <item name="android:progressBarStyle">@style/Widget.Styled.ProgressBar.Horizontal</item>
    </style>

</resources>