elsmr/material-animated-switch


A material Switch with icon animations and color transitions

Download


Step 1. Add the JitPack repository to your build file

Add it in your root settings.gradle at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url 'https://jitpack.io' }
		}
	}

Add it in your settings.gradle.kts at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url = uri("https://jitpack.io") }
		}
	}

Add to pom.xml

	<repositories>
		<repository>
		    <id>jitpack.io</id>
		    <url>https://jitpack.io</url>
		</repository>
	</repositories>

Add it in your build.sbt at the end of resolvers:

 
    resolvers += "jitpack" at "https://jitpack.io"
        
    

Add it in your project.clj at the end of repositories:

 
    :repositories [["jitpack" "https://jitpack.io"]]
        
    

Step 2. Add the dependency

	dependencies {
		implementation 'com.github.eliasmeire:material-animated-switch:0.0.8'
	}
	dependencies {
		implementation("com.github.eliasmeire:material-animated-switch:0.0.8")
	}
	<dependency>
	    <groupId>com.github.eliasmeire</groupId>
	    <artifactId>material-animated-switch</artifactId>
	    <version>0.0.8</version>
	</dependency>

                            
    libraryDependencies += "com.github.eliasmeire" % "material-animated-switch" % "0.0.8"
        
        

                            
    :dependencies [[com.github.eliasmeire/material-animated-switch "0.0.8"]]
        
        

Readme


Material Animated Switch

Download Android Arsenal

A material Switch with icon animations and color transitions

Demo Screenshot

Demo Screenshot

Sample video:

Youtube Material Animated Switch video

Sample app:

<a href="https://play.google.com/store/apps/details?id=com.github.glomadrian.materialanimatedswitch.sample"> <img alt="Get it on Google Play" src="https://developer.android.com/images/brand/en_generic_rgb_wo_60.png" /> </a>

Based on

Inbox Pinned by Derek Torsani

How to use

By default show the inbox pinned switch

<com.github.glomadrian.materialanimatedswitch.MaterialAnimatedSwitch
     android:id="@+id/pin"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     />

With custom colors and icons attributes

<com.github.glomadrian.materialanimatedswitch.MaterialAnimatedSwitch
     android:id="@+id/pin"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"  
     app:base_release_color="@color/md_deep_orange_900"
     app:base_press_color="@color/md_deep_orange_50"
     app:ball_release_color="@color/md_deep_orange_500"
     app:ball_press_color="@color/md_white_1000"
     app:icon_release="@drawable/ic_play_arrow_white_36dp"
     app:icon_press="@drawable/ic_stop_deep_orange_500_36dp"
     />

Remember put this for custom attribute usage


xmlns:app="http://schemas.android.com/apk/res-auto"

For Gradle

Add repository

repositories {
  maven {
    url "http://dl.bintray.com/glomadrian/maven"
  }
}

Add dependency

compile 'com.github.glomadrian:MaterialAnimatedSwitch:1.1@aar'

Changelog

V 1.1

  • Fixed bug that cut the ball at the start
  • Added isChecked() method
  • fix toggle() method

Developed By

Adrián García Lomas - glomadrian@gmail.com

License

Copyright 2015 Adrián García Lomas

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.