Skip to content

mdgspace/RotatingText

Repository files navigation

RotatingText

platformAPILicense: MITBy-MDG

Rotating text is an Android library that can be used to make text switching painless and beautiful, with the use of interpolators, typefaces and more customisations.

Usage

Just add the following dependency in your app's build.gradle

dependencies{compile 'com.sdsmdg.harjot:rotatingtext:1.0.2' } 

Example Usage 1 (Simple)

XML

<com.sdsmdg.harjot.rotatingtext.RotatingTextWrapper android:id="@+id/custom_switcher" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 

Java

RotatingTextWrapper rotatingTextWrapper = (RotatingTextWrapper) findViewById(R.id.custom_switcher); rotatingTextWrapper.setSize(35); Rotatable rotatable = new Rotatable(Color.parseColor("#FFA036"), 1000, "Word", "Word01", "Word02"); rotatable.setSize(35); rotatable.setAnimationDuration(500); rotatingTextWrapper.setContent("This is ?", rotatable); 

Result

Example Usage 2 (Typeface + Interpolator)

XML

<com.sdsmdg.harjot.rotatingtext.RotatingTextWrapper android:id="@+id/custom_switcher" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 

Java

Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/Raleway-Light.ttf"); Typeface typeface2 = Typeface.createFromAsset(getAssets(), "fonts/Reckoner_Bold.ttf"); RotatingTextWrapper rotatingTextWrapper = (RotatingTextWrapper) findViewById(R.id.custom_switcher); rotatingTextWrapper.setSize(35); rotatingTextWrapper.setTypeface(typeface2); Rotatable rotatable = new Rotatable(Color.parseColor("#FFA036"), 1000, "Word", "Word01", "Word02"); rotatable.setSize(35); rotatable.setAnimationDuration(500); rotatable.setTypeface(typeface); rotatable.setInterpolator(new BounceInterpolator()); rotatingTextWrapper.setContent("This is ?", rotatable); 

Result

Example Usage 3 (Multiple Rotatables)

XML

<com.sdsmdg.harjot.rotatingtext.RotatingTextWrapper android:id="@+id/custom_switcher" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 

Java

Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/Raleway-Light.ttf"); Typeface typeface2 = Typeface.createFromAsset(getAssets(), "fonts/Reckoner_Bold.ttf"); RotatingTextWrapper rotatingTextWrapper = (RotatingTextWrapper) findViewById(R.id.custom_switcher); rotatingTextWrapper.setSize(35); rotatingTextWrapper.setTypeface(typeface2); Rotatable rotatable = new Rotatable(Color.parseColor("#FFA036"), 1000, "Word", "Word01", "Word02"); rotatable.setSize(35); rotatable.setTypeface(typeface); rotatable.setInterpolator(new AccelerateInterpolator()); rotatable.setAnimationDuration(500); Rotatable rotatable2 = new Rotatable(Color.parseColor("#123456"), 1000, "Word03", "Word04", "Word05"); rotatable2.setSize(25); rotatable2.setTypeface(typeface); rotatable2.setInterpolator(new DecelerateInterpolator()); rotatable2.setAnimationDuration(500); rotatingTextWrapper.setContent("This is ? and ?", rotatable, rotatable2); 

Result

Documentation

Rotating text is made of two parts : RotatingTextWrapper and Rotatable.
Each rotatable encapsulates the collection of words that are two be periodically switched and also defines various properties related to these words, like, size, color, animation interpolator etc.
Each Rotatable must be a part of a RotatingTextWrapper. This defines the actual layout of the text and the positions of the rotating text.

For eg : rotatingTextWrapper.setContent("This is ?", rotatble);. Here the ? denotes the postion of the rotatable.

RotatingTextWrapper

PropertyFunctionDescription
ContentsetContent(...)Set the actual content. Composed of a String and array of Rotatables.
TypefacesetTypeface(...)Set the typeface of the non-rotating text
SizesetSize(...)Set the size of the non-rotating text
Pausepause(x)Method to pause the 'x'th rotatable
Resumeresume(x)Method to resume the 'x'th rotatable

Rotatable

PropertyFunctionDescription
ColorsetColor(...)Set the color of the rotating text associated with this rotatable
SizesetSize(...)Set the size of the rotating text associated with this rotatable
TypefacesetTypeface(...)Set the typeface of the rotating text associated with this rotatable
InterpolatorsetInterpolator(...)Set the animation interpolator used while switching text
Update DurationsetUpdateDuration(...)Set the interval between switching the words
Animation DurationsetAnimationDuration(...)Set the duration of the switching animation
Center AlignsetCenter(...)Align the rotating text to center of the textview if set to true

License

RotatingText is licensed under MIT license. View license.

About

A periodic text updating library

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5

Languages