Simple android library to present an animated ferris wheel
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
art Add monochrome sample Mar 23, 2018
ferriswheel Remove kotlin abstract class Aug 4, 2018
gradle/wrapper Release 1.2 Aug 3, 2018
sample Add auto rotate Aug 3, 2018
.gitignore Initial commit Jan 15, 2018
.travis.yml Update .travis.yml Mar 28, 2018
CHANGELOG.md Release 1.2 Aug 3, 2018
LICENSE Initial commit Jan 12, 2018
README.md Add some mentions to description Oct 7, 2018
build.gradle Bump kotlin ver to 1.2.60 Aug 3, 2018
gradle.properties Upload aar to bintray/maven Mar 1, 2018
gradlew Initial commit Jan 15, 2018
gradlew.bat Initial commit Jan 15, 2018
settings.gradle Update package name Mar 2, 2018

README.md

Ferris Wheel View

Android Arsenal Build Status Download License

image

Overview

An Android Library used to implement an animated Ferris Wheel in android.

  • API SDK 15+
  • Written in Kotlin
  • Supports landscape mode
  • Lightweight view with 1 drawable inside, uses canvas 2D drawing technique

Preview-demo Monochrome-sample
Inspired by the one-color Planet Coaster loading screen

Mentions

Sample Project

For more information how to use the library in Kotlin/Java checkout Sample App in repository.

Quick Setup

Include library

Using Gradle

FerrisWheelView is distributed using jcenter.

repositories { 
    jcenter()
}
dependencies {
    implementation 'ru.github.igla:ferriswheel:1.2'
}

Or Maven

<dependency>
  <groupId>ru.github.igla</groupId>
  <artifactId>ferriswheel</artifactId>
  <version>1.2</version>
  <type>pom</type>
</dependency>

Usage

Add widget in your xml layout like this:

    <ru.github.igla.ferriswheel.FerrisWheelView
        android:id="@+id/ferrisWheelView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        app:fwv_cabinsNumber="8"
        app:fwv_rotateSpeed="6" />

To start animation you need only call this method:

    ferrisWheelView.startAnimation()

Or you can stop/pause/resume animation by the following methods:

    ferrisWheelView.stopAnimation()
    ferrisWheelView.pauseAnimation()
    ferrisWheelView.resumeAnimation()

Attributes

attr format default description
fwv_cabinSize dimension 42dp the size of each cabin
fwv_cabinsNumber integer 8 the number of cabins on the wheel
fwv_isClockwise boolean true toogle the rotate direction
fwv_isAutoRotate boolean true start rotating wheel automatically after initialization
fwv_rotateSpeed integer 6 wheel speed rotation measured in degrees
fwv_startAngle float 0 angle at which wheel will start to rotate
fwv_wheelStrokeColor color #73302b #73302b with this color the wheel will be filled
fwv_baseStrokeColor color #666666 #666666 with this color the wheel base will be filled
fwv_cabinFillColor color array with this color the cabin will be filled
fwv_cabinLineStrokeColor color #000000 #000000 with this color the cabin line will be filled

Issues

If you find any problems or would like to suggest a feature, please feel free to file an issue

License

Copyright 2018 Igor Lashkov

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.