Remove FAB animation files left over from bad cherry picking
This commit is contained in:
parent
3aa12281c3
commit
e1eff7b744
@ -1,34 +0,0 @@
|
|||||||
package eu.kanade.tachiyomi.widget
|
|
||||||
|
|
||||||
import android.support.design.widget.CoordinatorLayout
|
|
||||||
import android.support.design.widget.FloatingActionButton
|
|
||||||
import android.support.v4.view.ViewCompat
|
|
||||||
import android.view.View
|
|
||||||
|
|
||||||
abstract class FABAnimationBase : FloatingActionButton.Behavior() {
|
|
||||||
|
|
||||||
var isAnimatingOut = false
|
|
||||||
|
|
||||||
override fun onStartNestedScroll(coordinatorLayout: CoordinatorLayout, child: FloatingActionButton,
|
|
||||||
directTargetChild: View, target: View, axes: Int, type: Int): Boolean {
|
|
||||||
// Ensure we react to vertical scrolling
|
|
||||||
return axes == ViewCompat.SCROLL_AXIS_VERTICAL ||
|
|
||||||
super.onStartNestedScroll(coordinatorLayout, child, directTargetChild, target, axes, type)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onNestedScroll(coordinatorLayout: CoordinatorLayout, child: FloatingActionButton,
|
|
||||||
target: View, dxConsumed: Int, dyConsumed: Int, dxUnconsumed: Int,
|
|
||||||
dyUnconsumed: Int, type: Int) {
|
|
||||||
super.onNestedScroll(coordinatorLayout, child, target, dxConsumed, dyConsumed, dxUnconsumed, dyUnconsumed, type)
|
|
||||||
if (dyConsumed > 0 && !isAnimatingOut && child.visibility == View.VISIBLE) {
|
|
||||||
// User scrolled down and the FAB is currently visible -> hide the FAB
|
|
||||||
animateOut(child)
|
|
||||||
} else if (dyConsumed < 0 && child.visibility != View.VISIBLE) {
|
|
||||||
// User scrolled up and the FAB is currently not visible -> show the FAB
|
|
||||||
animateIn(child)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
abstract fun animateOut(button: FloatingActionButton)
|
|
||||||
abstract fun animateIn(button: FloatingActionButton)
|
|
||||||
}
|
|
@ -1,51 +0,0 @@
|
|||||||
package eu.kanade.tachiyomi.widget
|
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import android.support.design.widget.FloatingActionButton
|
|
||||||
import android.support.v4.view.animation.FastOutSlowInInterpolator
|
|
||||||
import android.util.AttributeSet
|
|
||||||
import android.view.View
|
|
||||||
import android.view.animation.Animation
|
|
||||||
import android.view.animation.AnimationUtils
|
|
||||||
import eu.kanade.tachiyomi.R
|
|
||||||
|
|
||||||
@Suppress("unused", "UNUSED_PARAMETER")
|
|
||||||
class FABAnimationUpDown @JvmOverloads constructor(ctx: Context, attrs: AttributeSet? = null) : FABAnimationBase() {
|
|
||||||
|
|
||||||
private val INTERPOLATOR = FastOutSlowInInterpolator()
|
|
||||||
|
|
||||||
private val outAnimation by lazy {
|
|
||||||
AnimationUtils.loadAnimation(ctx, R.anim.fab_hide_to_bottom).apply {
|
|
||||||
duration = 200
|
|
||||||
interpolator = INTERPOLATOR
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private val inAnimation by lazy {
|
|
||||||
AnimationUtils.loadAnimation(ctx, R.anim.fab_show_from_bottom).apply {
|
|
||||||
duration = 200
|
|
||||||
interpolator = INTERPOLATOR
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun animateOut(button: FloatingActionButton) {
|
|
||||||
outAnimation.setAnimationListener(object : Animation.AnimationListener {
|
|
||||||
override fun onAnimationStart(animation: Animation) {
|
|
||||||
isAnimatingOut = true
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onAnimationEnd(animation: Animation) {
|
|
||||||
isAnimatingOut = false
|
|
||||||
button.visibility = View.INVISIBLE
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onAnimationRepeat(animation: Animation) {
|
|
||||||
}
|
|
||||||
})
|
|
||||||
button.startAnimation(outAnimation)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun animateIn(button: FloatingActionButton) {
|
|
||||||
button.visibility = View.VISIBLE
|
|
||||||
button.startAnimation(inAnimation)
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user