PacButton

Project Url: bitvale/PacButton
Introduction: Android implementation of switch animation https://dribbble.com/shots/5487871-Video-Photo-Switcher-Exploration from Oleg Frolov https://dribbble.com/Volorf
More: Author   ReportBugs   
Tags:

sample

License Platform

Created this cool video/photo switch animation from Oleg Frolov as android library.

Design on Dribbble

USAGE

Just add PacButton view in your layout XML and PacButton library in your project via Gradle:

dependencies {
  implementation 'com.bitvale:pacbutton:1.0.0'
}

XML

<com.bitvale.pacbutton.PacButton
    android:id="@+id/pac_button"
    android:layout_width="@dimen/pac_size"
    android:layout_height="@dimen/pac_size"
    app:topIcon="@drawable/ic_video"
    app:bottomIcon="@drawable/ic_photo"
    app:iconHeight="@dimen/icon_size"
    app:iconWidth="@dimen/icon_size"
    app:pacGradientColor_1="@color/gradient_color_1"
    app:pacGradientColor_2="@color/gradient_color_2" />

You must use the following properties in your XML to change your PacButton.

Properties:
  • app:topIcon (drawable) -> default none
  • app:bottomIcon (drawable) -> default none
  • app:iconHeight (dimension) -> default none
  • app:iconWidth (dimension) -> default none
  • app:pacColor (color) -> default none
  • app:pacGradientColor_1 (color) -> default #7651F8
  • app:pacGradientColor_2 (color) -> default #E74996

You can use solid color with pacColor property or gradient with pacGradientColor properties.

Kotlin

pac_button.setSelectAction {
    if (it) some_image.setImageResource(R.drawable.ic_video_cam)
    else some_image.setImageResource(R.drawable.ic_photo_cam)
}

pac_button.setAnimationUpdateListener { progress ->
    some_image.alpha = 1 - progress
}

LICENCE

PacButton by Alexander Kolpakov is licensed under an Apache License 2.0.

Apps
About Me
Google+: Trinea trinea
GitHub: Trinea