diff --git a/README.md b/README.md
index cccc922..740731d 100644
--- a/README.md
+++ b/README.md
@@ -29,7 +29,7 @@ Step 1. Add the repositories into your build.gradle
Step 2. Add the dependency in the form
dependencies {
- compile 'com.github.bmarrdev:android-DecoView-charting:v0.9.6'
+ compile 'com.github.bmarrdev:android-DecoView-charting:v1.2'
}
@@ -38,7 +38,7 @@ Usage
DecoView is subclassed from the Android View class. Just like other View subclasses, such as TextView and ImageView, it can be added and configured from your layout XML then controlled in your Activity code.
-This repository includes a number of samples for constructing and animating a DecoView. You will find the code for the samples in the [app project](https://github.com/bmarrdev/android-DecoView-charting/tree/master/app/src/main/java/com/hookedonplay/decoviewsample).
+This repository includes a number of samples for constructing and animating a DecoView. You will find the code for the samples in the [sampleapp project](https://github.com/bmarrdev/android-DecoView-charting/tree/master/sampleapp/src/main/java/com/hookedonplay/decoviewsample).
The main concepts you need to understand are:
- DecoView is a View, it subclasses android.view.View
@@ -403,6 +403,34 @@ Note that in the example above the color uses transparency to give the edge of t
NOTE: On Android 4.0 to 4.3 Adding an EdgeDetail to a data series will result in Hardware acceleration being turned off for that DecoView. This is due to these platforms not supporting the clipPath() functions with hardware acceleration. It would be unusual for this cause any noticeable difference to the performance of the View.
+Adding a shadow to a SeriesItem
+===
+
+Shadows were introduced in DecoView 1.1, check you gradle dependency before adding shadows.
+
+
+
+There are a couple of very important notes before adding shadows.
+
+When creating a DecoView with shadows you must call ```java DecoView.disableHardwareAccelerationForDecoView();``` to disable hardware acceleration for the view. The shadow functionality built into the Android canvas operations are not supported with hardware acceleration. Please note that this may cause performance issues if you are animating multiple views concurrently.
+
+If you are setting a shadow you will most likely want to also add the size of your shadow to the inset of the series item. The reason for this is the the decoView cannot draw outside of the given view canvas. If you don't inset your series then at the top and side edges of the view the shadow will be clipped.
+
+
+```java
+mDecoView = (DecoView) findViewById(R.id.dynamicArcView);
+mDecoView.disableHardwareAccelerationForDecoView();
+
+final SeriesItem seriesItem = new SeriesItem.Builder(Color.parseColor("#FFFF8800"))
+ .setRange(0, mSeriesMax, 0)
+ .setInset(new PointF(30, 30))
+ .setShadowSize(30)
+ .setShadowColor(Color.DKGRAY)
+ .setInitialVisibility(false)
+ .build();
+```
+
+
Fitness tracker Sample
===
@@ -428,7 +456,7 @@ Credits
License
===
- Copyright 2015 Brent Marriott
+ Copyright 2016 Brent Marriott
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/art/shadow_example.png b/art/shadow_example.png
new file mode 100644
index 0000000..1b3dc40
Binary files /dev/null and b/art/shadow_example.png differ
diff --git a/build.gradle b/build.gradle
index cb98401..e220f0b 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,7 +5,7 @@ buildscript {
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:2.0.0'
+ classpath 'com.android.tools.build:gradle:2.1.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
diff --git a/decoviewlib/build.gradle b/decoviewlib/build.gradle
index 1678b6a..1751f8e 100644
--- a/decoviewlib/build.gradle
+++ b/decoviewlib/build.gradle
@@ -7,8 +7,8 @@ android {
defaultConfig {
minSdkVersion 8
targetSdkVersion 23
- versionCode 7
- versionName "1.0.0"
+ versionCode 10
+ versionName "1.2"
}
buildTypes {
release {
diff --git a/decoviewlib/decoviewlib.iml b/decoviewlib/decoviewlib.iml
index f033181..db85c2b 100644
--- a/decoviewlib/decoviewlib.iml
+++ b/decoviewlib/decoviewlib.iml
@@ -48,6 +48,7 @@
+
@@ -55,6 +56,7 @@
+
@@ -62,6 +64,7 @@
+
@@ -69,6 +72,7 @@
+
@@ -76,17 +80,24 @@
+
+
+
+
+
+
+
diff --git a/decoviewlib/src/main/java/com/hookedonplay/decoviewlib/DecoView.java b/decoviewlib/src/main/java/com/hookedonplay/decoviewlib/DecoView.java
index eb57c9e..31a4a15 100644
--- a/decoviewlib/src/main/java/com/hookedonplay/decoviewlib/DecoView.java
+++ b/decoviewlib/src/main/java/com/hookedonplay/decoviewlib/DecoView.java
@@ -655,6 +655,17 @@ public void enableCompatibilityMode() {
}
}
+ /**
+ * Allows DecoView to draw drop shadows. This should be enabled if you plan on using the
+ * feature SeriesItem.setShadowSize(float) to add a drop shadow on one or more of your arc
+ * series. Calling this function need only be done once.
+ */
+ public void disableHardwareAccelerationForDecoView() {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
+ setLayerType(LAYER_TYPE_SOFTWARE, null);
+ }
+ }
+
/**
* Retrieve the {@link SeriesItem} based on the index
*
diff --git a/decoviewlib/src/main/java/com/hookedonplay/decoviewlib/charts/ArcSeries.java b/decoviewlib/src/main/java/com/hookedonplay/decoviewlib/charts/ArcSeries.java
index dc1c441..eb97e71 100644
--- a/decoviewlib/src/main/java/com/hookedonplay/decoviewlib/charts/ArcSeries.java
+++ b/decoviewlib/src/main/java/com/hookedonplay/decoviewlib/charts/ArcSeries.java
@@ -63,8 +63,11 @@ public boolean draw(Canvas canvas, RectF bounds) {
if (mSeriesItem.getDrawAsPoint()) {
mArcAngleStart = adjustDrawPointAngle(mArcAngleSweep);
mArcAngleSweep = adjustSweepDirection(getMinSweepAngle());
+ } else if (mArcAngleSweep == 0) {
+ return true;
}
+
return false;
}
diff --git a/decoviewlib/src/main/java/com/hookedonplay/decoviewlib/charts/ChartSeries.java b/decoviewlib/src/main/java/com/hookedonplay/decoviewlib/charts/ChartSeries.java
index ec957cc..3cf45a3 100644
--- a/decoviewlib/src/main/java/com/hookedonplay/decoviewlib/charts/ChartSeries.java
+++ b/decoviewlib/src/main/java/com/hookedonplay/decoviewlib/charts/ChartSeries.java
@@ -451,6 +451,10 @@ public void reset() {
mPaint.setStrokeCap(mSeriesItem.getRoundCap() ? Paint.Cap.ROUND : Paint.Cap.BUTT);
mPaint.setAntiAlias(true);
+ if (mSeriesItem.getShadowSize() > 0) {
+ mPaint.setShadowLayer(mSeriesItem.getShadowSize(), 0, 0, mSeriesItem.getShadowColor());
+ }
+
// We need to reset the bounds for the case we are drawing a gradient and need to recreate
// based on the bounds
mBounds = null;
diff --git a/decoviewlib/src/main/java/com/hookedonplay/decoviewlib/charts/LineArcSeries.java b/decoviewlib/src/main/java/com/hookedonplay/decoviewlib/charts/LineArcSeries.java
index 728034c..edeb54b 100644
--- a/decoviewlib/src/main/java/com/hookedonplay/decoviewlib/charts/LineArcSeries.java
+++ b/decoviewlib/src/main/java/com/hookedonplay/decoviewlib/charts/LineArcSeries.java
@@ -53,6 +53,9 @@ public boolean draw(Canvas canvas, RectF bounds) {
}
protected void drawArc(@NonNull Canvas canvas) {
+ if (mArcAngleSweep == 0) {
+ return;
+ }
canvas.drawArc(mBoundsInset,
mArcAngleStart,
mArcAngleSweep,
@@ -77,7 +80,7 @@ private void drawArcEdgeDetail(@NonNull Canvas canvas) {
for (EdgeDetail edgeDetail : edgeDetailList) {
final boolean drawInner = edgeDetail.getEdgeType() == EdgeDetail.EdgeType.EDGE_INNER;
if (edgeDetail.getClipPath() == null) {
- float inset = (edgeDetail.getRatio() - 0.5f) * mPaint.getStrokeWidth();
+ float inset = (edgeDetail.getRatio() - 0.5f) * mSeriesItem.getLineWidth();
if (drawInner) {
inset = -inset;
}
diff --git a/decoviewlib/src/main/java/com/hookedonplay/decoviewlib/charts/SeriesItem.java b/decoviewlib/src/main/java/com/hookedonplay/decoviewlib/charts/SeriesItem.java
index d4616ae..a20852a 100644
--- a/decoviewlib/src/main/java/com/hookedonplay/decoviewlib/charts/SeriesItem.java
+++ b/decoviewlib/src/main/java/com/hookedonplay/decoviewlib/charts/SeriesItem.java
@@ -110,6 +110,18 @@ public class SeriesItem {
* Label for the data series
*/
private SeriesLabel mSeriesLabel;
+ /**
+ * Set the shadow size for the series. This is drawn as a fade around the series that goes from
+ * the color set mShadowColor and fades for mShadowSize pixels until it is transparent
+ *
+ * IMPORTANT: If you set this you need to call DecoView.disableHardwareAccelerationForDecoView()
+ * as drawing of this shadow cannot be done with hardware acceleration enabled
+ */
+ private float mShadowSize;
+ /**
+ * Set the color of the shadow surrounding the series
+ */
+ private int mShadowColor;
/**
* Provides optional callback functionality on progress update of animation
*/
@@ -133,6 +145,8 @@ private SeriesItem(Builder builder) {
mInset = builder.mInset;
mEdgeDetail = builder.mEdgeDetail;
mSeriesLabel = builder.mSeriesLabel;
+ mShadowSize = builder.mShadowSize;
+ mShadowColor = builder.mShadowColor;
}
public int getColor() {
@@ -233,6 +247,22 @@ public SeriesLabel getSeriesLabel() {
return mSeriesLabel;
}
+ public void setShadowSize(float shadowSize) {
+ mShadowSize = shadowSize;
+ }
+
+ public float getShadowSize() {
+ return mShadowSize;
+ }
+
+ public void setShadowColor(int shadowColor) {
+ mShadowColor = shadowColor;
+ }
+
+ public int getShadowColor() {
+ return mShadowColor;
+ }
+
/**
* Set a listener to get notification of completion of animation
*
@@ -284,6 +314,8 @@ public static class Builder {
private PointF mInset;
private ArrayList mEdgeDetail;
private SeriesLabel mSeriesLabel;
+ private float mShadowSize = 0f;
+ private int mShadowColor = Color.BLACK;
public Builder(int color) {
mColor = color;
@@ -384,6 +416,15 @@ public Builder setSeriesLabel(@Nullable SeriesLabel seriesLabel) {
return this;
}
+ public Builder setShadowSize(float shadowSize) {
+ mShadowSize = shadowSize;
+ return this;
+ }
+
+ public Builder setShadowColor(int shadowColor) {
+ mShadowColor = shadowColor;
+ return this;
+ }
/**
* Creates a {@link SeriesItem} with the arguments supplied to this builder.
*/
diff --git a/app/.gitignore b/sampleapp/.gitignore
similarity index 100%
rename from app/.gitignore
rename to sampleapp/.gitignore
diff --git a/app/build.gradle b/sampleapp/build.gradle
similarity index 93%
rename from app/build.gradle
rename to sampleapp/build.gradle
index 03bd154..aae3ae9 100644
--- a/app/build.gradle
+++ b/sampleapp/build.gradle
@@ -7,8 +7,8 @@ android {
applicationId 'com.hookedonplay.decoviewsample'
minSdkVersion 8
targetSdkVersion 23
- versionCode 7
- versionName "1.0.0"
+ versionCode 10
+ versionName "1.2"
}
buildTypes {
release {
diff --git a/app/proguard-rules.pro b/sampleapp/proguard-rules.pro
similarity index 100%
rename from app/proguard-rules.pro
rename to sampleapp/proguard-rules.pro
diff --git a/app/app.iml b/sampleapp/sampleapp.iml
similarity index 90%
rename from app/app.iml
rename to sampleapp/sampleapp.iml
index 15c4fcb..44eac82 100644
--- a/app/app.iml
+++ b/sampleapp/sampleapp.iml
@@ -1,9 +1,9 @@
-
+
-
+
@@ -47,6 +47,7 @@
+
@@ -54,6 +55,7 @@
+
@@ -61,13 +63,7 @@
-
-
-
-
-
-
-
+
@@ -75,22 +71,29 @@
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
diff --git a/app/src/androidTest/java/com/hookedonplay/decoviewsample/ApplicationTest.java b/sampleapp/src/androidTest/java/com/hookedonplay/decoviewsample/ApplicationTest.java
similarity index 100%
rename from app/src/androidTest/java/com/hookedonplay/decoviewsample/ApplicationTest.java
rename to sampleapp/src/androidTest/java/com/hookedonplay/decoviewsample/ApplicationTest.java
diff --git a/app/src/main/AndroidManifest.xml b/sampleapp/src/main/AndroidManifest.xml
similarity index 100%
rename from app/src/main/AndroidManifest.xml
rename to sampleapp/src/main/AndroidManifest.xml
diff --git a/app/src/main/assets/fonts/kotak.ttf b/sampleapp/src/main/assets/fonts/kotak.ttf
similarity index 100%
rename from app/src/main/assets/fonts/kotak.ttf
rename to sampleapp/src/main/assets/fonts/kotak.ttf
diff --git a/app/src/main/java/com/hookedonplay/decoviewsample/DecoFragment.java b/sampleapp/src/main/java/com/hookedonplay/decoviewsample/DecoFragment.java
similarity index 100%
rename from app/src/main/java/com/hookedonplay/decoviewsample/DecoFragment.java
rename to sampleapp/src/main/java/com/hookedonplay/decoviewsample/DecoFragment.java
diff --git a/app/src/main/java/com/hookedonplay/decoviewsample/DecoViewSampleActivity.java b/sampleapp/src/main/java/com/hookedonplay/decoviewsample/DecoViewSampleActivity.java
similarity index 100%
rename from app/src/main/java/com/hookedonplay/decoviewsample/DecoViewSampleActivity.java
rename to sampleapp/src/main/java/com/hookedonplay/decoviewsample/DecoViewSampleActivity.java
diff --git a/app/src/main/java/com/hookedonplay/decoviewsample/Sample1Fragment.java b/sampleapp/src/main/java/com/hookedonplay/decoviewsample/Sample1Fragment.java
similarity index 100%
rename from app/src/main/java/com/hookedonplay/decoviewsample/Sample1Fragment.java
rename to sampleapp/src/main/java/com/hookedonplay/decoviewsample/Sample1Fragment.java
diff --git a/app/src/main/java/com/hookedonplay/decoviewsample/Sample2Fragment.java b/sampleapp/src/main/java/com/hookedonplay/decoviewsample/Sample2Fragment.java
similarity index 100%
rename from app/src/main/java/com/hookedonplay/decoviewsample/Sample2Fragment.java
rename to sampleapp/src/main/java/com/hookedonplay/decoviewsample/Sample2Fragment.java
diff --git a/app/src/main/java/com/hookedonplay/decoviewsample/Sample3Fragment.java b/sampleapp/src/main/java/com/hookedonplay/decoviewsample/Sample3Fragment.java
similarity index 100%
rename from app/src/main/java/com/hookedonplay/decoviewsample/Sample3Fragment.java
rename to sampleapp/src/main/java/com/hookedonplay/decoviewsample/Sample3Fragment.java
diff --git a/app/src/main/java/com/hookedonplay/decoviewsample/Sample4Fragment.java b/sampleapp/src/main/java/com/hookedonplay/decoviewsample/Sample4Fragment.java
similarity index 100%
rename from app/src/main/java/com/hookedonplay/decoviewsample/Sample4Fragment.java
rename to sampleapp/src/main/java/com/hookedonplay/decoviewsample/Sample4Fragment.java
diff --git a/app/src/main/java/com/hookedonplay/decoviewsample/SampleFit2Fragment.java b/sampleapp/src/main/java/com/hookedonplay/decoviewsample/SampleFit2Fragment.java
similarity index 100%
rename from app/src/main/java/com/hookedonplay/decoviewsample/SampleFit2Fragment.java
rename to sampleapp/src/main/java/com/hookedonplay/decoviewsample/SampleFit2Fragment.java
diff --git a/app/src/main/java/com/hookedonplay/decoviewsample/SampleFitFragment.java b/sampleapp/src/main/java/com/hookedonplay/decoviewsample/SampleFitFragment.java
similarity index 98%
rename from app/src/main/java/com/hookedonplay/decoviewsample/SampleFitFragment.java
rename to sampleapp/src/main/java/com/hookedonplay/decoviewsample/SampleFitFragment.java
index ff4d49b..d809bf6 100644
--- a/app/src/main/java/com/hookedonplay/decoviewsample/SampleFitFragment.java
+++ b/sampleapp/src/main/java/com/hookedonplay/decoviewsample/SampleFitFragment.java
@@ -142,7 +142,7 @@ protected void setupEvents() {
.setDuration(2000)
.build());
} else {
- decoView.addEvent(new DecoEvent.Builder(DecoDrawEffect.EffectType.EFFECT_SPIRAL_OUT_FILL)
+ decoView.addEvent(new DecoEvent.Builder(DecoEvent.EventType.EVENT_SHOW, true)
.setIndex(mBackIndex)
.setDuration(3000)
.build());
diff --git a/app/src/main/java/com/hookedonplay/decoviewsample/SampleFragment.java b/sampleapp/src/main/java/com/hookedonplay/decoviewsample/SampleFragment.java
similarity index 100%
rename from app/src/main/java/com/hookedonplay/decoviewsample/SampleFragment.java
rename to sampleapp/src/main/java/com/hookedonplay/decoviewsample/SampleFragment.java
diff --git a/app/src/main/java/com/hookedonplay/decoviewsample/SampleGenericFragment.java b/sampleapp/src/main/java/com/hookedonplay/decoviewsample/SampleGenericFragment.java
similarity index 100%
rename from app/src/main/java/com/hookedonplay/decoviewsample/SampleGenericFragment.java
rename to sampleapp/src/main/java/com/hookedonplay/decoviewsample/SampleGenericFragment.java
diff --git a/app/src/main/java/com/hookedonplay/decoviewsample/SampleInterpolatorsFragment.java b/sampleapp/src/main/java/com/hookedonplay/decoviewsample/SampleInterpolatorsFragment.java
similarity index 100%
rename from app/src/main/java/com/hookedonplay/decoviewsample/SampleInterpolatorsFragment.java
rename to sampleapp/src/main/java/com/hookedonplay/decoviewsample/SampleInterpolatorsFragment.java
diff --git a/app/src/main/java/com/hookedonplay/decoviewsample/SamplePauseFragment.java b/sampleapp/src/main/java/com/hookedonplay/decoviewsample/SamplePauseFragment.java
similarity index 98%
rename from app/src/main/java/com/hookedonplay/decoviewsample/SamplePauseFragment.java
rename to sampleapp/src/main/java/com/hookedonplay/decoviewsample/SamplePauseFragment.java
index 8465127..2204e0b 100644
--- a/app/src/main/java/com/hookedonplay/decoviewsample/SamplePauseFragment.java
+++ b/sampleapp/src/main/java/com/hookedonplay/decoviewsample/SamplePauseFragment.java
@@ -66,7 +66,7 @@ protected void createTracks() {
mPieIndex = decoView.addSeries(seriesBack1Item);
- SeriesItem series1Item = new SeriesItem.Builder(COLOR_YELLOW)
+ SeriesItem series1Item = new SeriesItem.Builder(Color.parseColor("#FFFFC107"))
.setRange(0, seriesMax, 0)
.setLineWidth(getDimension(36))
.setInterpolator(new LinearInterpolator())
diff --git a/app/src/main/java/com/hookedonplay/decoviewsample/SamplePeopleFragment.java b/sampleapp/src/main/java/com/hookedonplay/decoviewsample/SamplePeopleFragment.java
similarity index 100%
rename from app/src/main/java/com/hookedonplay/decoviewsample/SamplePeopleFragment.java
rename to sampleapp/src/main/java/com/hookedonplay/decoviewsample/SamplePeopleFragment.java
diff --git a/app/src/main/java/com/hookedonplay/decoviewsample/SamplerAdapter.java b/sampleapp/src/main/java/com/hookedonplay/decoviewsample/SamplerAdapter.java
similarity index 100%
rename from app/src/main/java/com/hookedonplay/decoviewsample/SamplerAdapter.java
rename to sampleapp/src/main/java/com/hookedonplay/decoviewsample/SamplerAdapter.java
diff --git a/app/src/main/res/anim/rotate_hide.xml b/sampleapp/src/main/res/anim/rotate_hide.xml
similarity index 100%
rename from app/src/main/res/anim/rotate_hide.xml
rename to sampleapp/src/main/res/anim/rotate_hide.xml
diff --git a/app/src/main/res/drawable-hdpi/ic_acme_fit.png b/sampleapp/src/main/res/drawable-hdpi/ic_acme_fit.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_acme_fit.png
rename to sampleapp/src/main/res/drawable-hdpi/ic_acme_fit.png
diff --git a/app/src/main/res/drawable-hdpi/ic_activity1.png b/sampleapp/src/main/res/drawable-hdpi/ic_activity1.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_activity1.png
rename to sampleapp/src/main/res/drawable-hdpi/ic_activity1.png
diff --git a/app/src/main/res/drawable-hdpi/ic_activity2.png b/sampleapp/src/main/res/drawable-hdpi/ic_activity2.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_activity2.png
rename to sampleapp/src/main/res/drawable-hdpi/ic_activity2.png
diff --git a/app/src/main/res/drawable-hdpi/ic_activity3.png b/sampleapp/src/main/res/drawable-hdpi/ic_activity3.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_activity3.png
rename to sampleapp/src/main/res/drawable-hdpi/ic_activity3.png
diff --git a/app/src/main/res/drawable-hdpi/ic_avatar_child.png b/sampleapp/src/main/res/drawable-hdpi/ic_avatar_child.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_avatar_child.png
rename to sampleapp/src/main/res/drawable-hdpi/ic_avatar_child.png
diff --git a/app/src/main/res/drawable-hdpi/ic_avatar_group.png b/sampleapp/src/main/res/drawable-hdpi/ic_avatar_group.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_avatar_group.png
rename to sampleapp/src/main/res/drawable-hdpi/ic_avatar_group.png
diff --git a/app/src/main/res/drawable-hdpi/ic_avatar_man.png b/sampleapp/src/main/res/drawable-hdpi/ic_avatar_man.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_avatar_man.png
rename to sampleapp/src/main/res/drawable-hdpi/ic_avatar_man.png
diff --git a/app/src/main/res/drawable-hdpi/ic_avatar_woman.png b/sampleapp/src/main/res/drawable-hdpi/ic_avatar_woman.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_avatar_woman.png
rename to sampleapp/src/main/res/drawable-hdpi/ic_avatar_woman.png
diff --git a/app/src/main/res/drawable-hdpi/ic_fit_bike.png b/sampleapp/src/main/res/drawable-hdpi/ic_fit_bike.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_fit_bike.png
rename to sampleapp/src/main/res/drawable-hdpi/ic_fit_bike.png
diff --git a/app/src/main/res/drawable-hdpi/ic_fit_gym.png b/sampleapp/src/main/res/drawable-hdpi/ic_fit_gym.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_fit_gym.png
rename to sampleapp/src/main/res/drawable-hdpi/ic_fit_gym.png
diff --git a/app/src/main/res/drawable-hdpi/ic_fit_logo.png b/sampleapp/src/main/res/drawable-hdpi/ic_fit_logo.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_fit_logo.png
rename to sampleapp/src/main/res/drawable-hdpi/ic_fit_logo.png
diff --git a/app/src/main/res/drawable-hdpi/ic_fit_run.png b/sampleapp/src/main/res/drawable-hdpi/ic_fit_run.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_fit_run.png
rename to sampleapp/src/main/res/drawable-hdpi/ic_fit_run.png
diff --git a/app/src/main/res/drawable-hdpi/ic_fit_swim.png b/sampleapp/src/main/res/drawable-hdpi/ic_fit_swim.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_fit_swim.png
rename to sampleapp/src/main/res/drawable-hdpi/ic_fit_swim.png
diff --git a/app/src/main/res/drawable-hdpi/ic_logo.png b/sampleapp/src/main/res/drawable-hdpi/ic_logo.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_logo.png
rename to sampleapp/src/main/res/drawable-hdpi/ic_logo.png
diff --git a/app/src/main/res/drawable-hdpi/ic_refresh.png b/sampleapp/src/main/res/drawable-hdpi/ic_refresh.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_refresh.png
rename to sampleapp/src/main/res/drawable-hdpi/ic_refresh.png
diff --git a/app/src/main/res/drawable-hdpi/ic_swipe_hint.png b/sampleapp/src/main/res/drawable-hdpi/ic_swipe_hint.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_swipe_hint.png
rename to sampleapp/src/main/res/drawable-hdpi/ic_swipe_hint.png
diff --git a/app/src/main/res/drawable-hdpi/ic_swipe_left.png b/sampleapp/src/main/res/drawable-hdpi/ic_swipe_left.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_swipe_left.png
rename to sampleapp/src/main/res/drawable-hdpi/ic_swipe_left.png
diff --git a/app/src/main/res/drawable-hdpi/ic_swipe_right.png b/sampleapp/src/main/res/drawable-hdpi/ic_swipe_right.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_swipe_right.png
rename to sampleapp/src/main/res/drawable-hdpi/ic_swipe_right.png
diff --git a/app/src/main/res/drawable-nodpi/circle_activity1.xml b/sampleapp/src/main/res/drawable-nodpi/circle_activity1.xml
similarity index 100%
rename from app/src/main/res/drawable-nodpi/circle_activity1.xml
rename to sampleapp/src/main/res/drawable-nodpi/circle_activity1.xml
diff --git a/app/src/main/res/drawable-nodpi/circle_activity2.xml b/sampleapp/src/main/res/drawable-nodpi/circle_activity2.xml
similarity index 100%
rename from app/src/main/res/drawable-nodpi/circle_activity2.xml
rename to sampleapp/src/main/res/drawable-nodpi/circle_activity2.xml
diff --git a/app/src/main/res/drawable-nodpi/circle_refresh.xml b/sampleapp/src/main/res/drawable-nodpi/circle_refresh.xml
similarity index 100%
rename from app/src/main/res/drawable-nodpi/circle_refresh.xml
rename to sampleapp/src/main/res/drawable-nodpi/circle_refresh.xml
diff --git a/app/src/main/res/layout-land/fragment_sample_fit.xml b/sampleapp/src/main/res/layout-land/fragment_sample_fit.xml
similarity index 100%
rename from app/src/main/res/layout-land/fragment_sample_fit.xml
rename to sampleapp/src/main/res/layout-land/fragment_sample_fit.xml
diff --git a/app/src/main/res/layout-land/fragment_sample_interpolators.xml b/sampleapp/src/main/res/layout-land/fragment_sample_interpolators.xml
similarity index 100%
rename from app/src/main/res/layout-land/fragment_sample_interpolators.xml
rename to sampleapp/src/main/res/layout-land/fragment_sample_interpolators.xml
diff --git a/app/src/main/res/layout/activity_deco_view_sample.xml b/sampleapp/src/main/res/layout/activity_deco_view_sample.xml
similarity index 100%
rename from app/src/main/res/layout/activity_deco_view_sample.xml
rename to sampleapp/src/main/res/layout/activity_deco_view_sample.xml
diff --git a/app/src/main/res/layout/fragment_deco.xml b/sampleapp/src/main/res/layout/fragment_deco.xml
similarity index 100%
rename from app/src/main/res/layout/fragment_deco.xml
rename to sampleapp/src/main/res/layout/fragment_deco.xml
diff --git a/app/src/main/res/layout/fragment_deco_view_sample.xml b/sampleapp/src/main/res/layout/fragment_deco_view_sample.xml
similarity index 77%
rename from app/src/main/res/layout/fragment_deco_view_sample.xml
rename to sampleapp/src/main/res/layout/fragment_deco_view_sample.xml
index 1c3def0..7caa817 100644
--- a/app/src/main/res/layout/fragment_deco_view_sample.xml
+++ b/sampleapp/src/main/res/layout/fragment_deco_view_sample.xml
@@ -1,12 +1,8 @@
-
-
+ android:paddingBottom="@dimen/activity_vertical_margin">
diff --git a/app/src/main/res/layout/fragment_sample1.xml b/sampleapp/src/main/res/layout/fragment_sample1.xml
similarity index 100%
rename from app/src/main/res/layout/fragment_sample1.xml
rename to sampleapp/src/main/res/layout/fragment_sample1.xml
diff --git a/app/src/main/res/layout/fragment_sample_fit.xml b/sampleapp/src/main/res/layout/fragment_sample_fit.xml
similarity index 100%
rename from app/src/main/res/layout/fragment_sample_fit.xml
rename to sampleapp/src/main/res/layout/fragment_sample_fit.xml
diff --git a/app/src/main/res/layout/fragment_sample_fit2.xml b/sampleapp/src/main/res/layout/fragment_sample_fit2.xml
similarity index 100%
rename from app/src/main/res/layout/fragment_sample_fit2.xml
rename to sampleapp/src/main/res/layout/fragment_sample_fit2.xml
diff --git a/app/src/main/res/layout/fragment_sample_generic.xml b/sampleapp/src/main/res/layout/fragment_sample_generic.xml
similarity index 100%
rename from app/src/main/res/layout/fragment_sample_generic.xml
rename to sampleapp/src/main/res/layout/fragment_sample_generic.xml
diff --git a/app/src/main/res/layout/fragment_sample_interpolators.xml b/sampleapp/src/main/res/layout/fragment_sample_interpolators.xml
similarity index 100%
rename from app/src/main/res/layout/fragment_sample_interpolators.xml
rename to sampleapp/src/main/res/layout/fragment_sample_interpolators.xml
diff --git a/app/src/main/res/layout/fragment_sample_pause.xml b/sampleapp/src/main/res/layout/fragment_sample_pause.xml
similarity index 100%
rename from app/src/main/res/layout/fragment_sample_pause.xml
rename to sampleapp/src/main/res/layout/fragment_sample_pause.xml
diff --git a/app/src/main/res/layout/fragment_sample_people.xml b/sampleapp/src/main/res/layout/fragment_sample_people.xml
similarity index 100%
rename from app/src/main/res/layout/fragment_sample_people.xml
rename to sampleapp/src/main/res/layout/fragment_sample_people.xml
diff --git a/app/src/main/res/layout/layout_replay.xml b/sampleapp/src/main/res/layout/layout_replay.xml
similarity index 100%
rename from app/src/main/res/layout/layout_replay.xml
rename to sampleapp/src/main/res/layout/layout_replay.xml
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/sampleapp/src/main/res/mipmap-hdpi/ic_launcher.png
similarity index 100%
rename from app/src/main/res/mipmap-hdpi/ic_launcher.png
rename to sampleapp/src/main/res/mipmap-hdpi/ic_launcher.png
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.png b/sampleapp/src/main/res/mipmap-mdpi/ic_launcher.png
similarity index 100%
rename from app/src/main/res/mipmap-mdpi/ic_launcher.png
rename to sampleapp/src/main/res/mipmap-mdpi/ic_launcher.png
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/sampleapp/src/main/res/mipmap-xhdpi/ic_launcher.png
similarity index 100%
rename from app/src/main/res/mipmap-xhdpi/ic_launcher.png
rename to sampleapp/src/main/res/mipmap-xhdpi/ic_launcher.png
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/sampleapp/src/main/res/mipmap-xxhdpi/ic_launcher.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/ic_launcher.png
rename to sampleapp/src/main/res/mipmap-xxhdpi/ic_launcher.png
diff --git a/app/src/main/res/values/dimens.xml b/sampleapp/src/main/res/values/dimens.xml
similarity index 100%
rename from app/src/main/res/values/dimens.xml
rename to sampleapp/src/main/res/values/dimens.xml
diff --git a/app/src/main/res/values/strings.xml b/sampleapp/src/main/res/values/strings.xml
similarity index 100%
rename from app/src/main/res/values/strings.xml
rename to sampleapp/src/main/res/values/strings.xml
diff --git a/app/src/main/res/values/styles.xml b/sampleapp/src/main/res/values/styles.xml
similarity index 100%
rename from app/src/main/res/values/styles.xml
rename to sampleapp/src/main/res/values/styles.xml
diff --git a/settings.gradle b/settings.gradle
index 301f417..600e7fa 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1 +1 @@
-include ':decoviewlib', ':app'
+include ':decoviewlib', ':sampleapp'