<!--
  ~ Copyright 2012 AndroidPlot.com
  ~
  ~    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 xmlns:android="http://schemas.android.com/apk/lib/com.androidplot.xy">
    <style name="sample_activity">
        <item name="android:layout_width">fill_parent</item>
        <item name="android:layout_height">fill_parent</item>
    </style>

    <style name="toc_button">
        <item name="android:layout_width">fill_parent</item>
        <item name="android:layout_height">wrap_content</item>
    </style>

    <style name="plotStyle1">
        <!--<item name="androidplot.title">Default Title</item>
        <item name="androidplot.domainLabel">my domain</item>-->
        <!--<item name="XYPlot:androidplot.title">my domain</item>-->
    </style>

</resources>
