mirror of
https://github.com/null2264/yokai.git
synced 2025-06-21 10:44:42 +00:00
add drop shadow to controller view when going back
adds some depth, as shadows do
This commit is contained in:
parent
8ae9b09d68
commit
3128bea6bc
6 changed files with 51 additions and 1 deletions
|
@ -2,6 +2,7 @@ package eu.kanade.tachiyomi.ui.main
|
|||
|
||||
import android.Manifest
|
||||
import android.animation.AnimatorSet
|
||||
import android.animation.ObjectAnimator
|
||||
import android.animation.ValueAnimator
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.Dialog
|
||||
|
@ -526,6 +527,21 @@ open class MainActivity : BaseActivity<MainActivityBinding>() {
|
|||
syncActivityViewWithController(to, from, isPush)
|
||||
binding.appBar.isVisible = true
|
||||
binding.appBar.alpha = 1f
|
||||
if (binding.backShadow.isVisible && !isPush) {
|
||||
val alpha = binding.backShadow.alpha
|
||||
val bA = ObjectAnimator.ofFloat(binding.backShadow, View.ALPHA, alpha, 0f)
|
||||
from?.view?.let { view ->
|
||||
bA.addUpdateListener {
|
||||
binding.backShadow.x = view.x - binding.backShadow.width
|
||||
}
|
||||
}
|
||||
bA.doOnEnd {
|
||||
binding.backShadow.alpha = 0.25f
|
||||
binding.backShadow.isVisible = false
|
||||
}
|
||||
bA.duration = 150
|
||||
bA.start()
|
||||
}
|
||||
if (!isPush || router.backstackSize == 1) {
|
||||
nav.translationY = 0f
|
||||
}
|
||||
|
|
|
@ -887,6 +887,21 @@ interface BackHandlerControllerInterface {
|
|||
view?.let { view ->
|
||||
view.alpha = 1f - progress
|
||||
view.x = progress * view.width * 0.15f
|
||||
|
||||
activityBinding?.let { activityBinding ->
|
||||
val container = activityBinding.controllerContainer
|
||||
val backShadow = activityBinding.backShadow
|
||||
if (container.indexOfChild(backShadow) != container.indexOfChild(view) - 1) {
|
||||
container.removeView(backShadow)
|
||||
container.addView(backShadow, container.indexOfChild(view))
|
||||
}
|
||||
if (!backShadow.isVisible) {
|
||||
backShadow.isVisible = true
|
||||
}
|
||||
backShadow.x = view.x - backShadow.width
|
||||
backShadow.alpha = 0.33f * view.alpha
|
||||
}
|
||||
|
||||
router.backstack[router.backstackSize - 2].controller.view?.let { view2 ->
|
||||
view2.alpha = progress
|
||||
view2.x = view.x - view.width * 0.2f
|
||||
|
@ -906,5 +921,7 @@ interface BackHandlerControllerInterface {
|
|||
view.x = 0f
|
||||
}
|
||||
}
|
||||
activityBinding?.backShadow?.isVisible = false
|
||||
activityBinding?.backShadow?.alpha = 0.25f
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,14 @@
|
|||
app:layout_constraintStart_toEndOf="@id/side_nav"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="1.0">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/back_shadow"
|
||||
android:layout_width="6dp"
|
||||
android:alpha="0.25"
|
||||
android:visibility="gone"
|
||||
android:layout_height="match_parent"
|
||||
android:src="@drawable/shape_gradient_start_shadow"
|
||||
android:importantForAccessibility="no" />
|
||||
</com.bluelinelabs.conductor.ChangeHandlerFrameLayout>
|
||||
|
||||
<eu.kanade.tachiyomi.ui.base.ExpandedAppBarLayout
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/coordinator"
|
||||
android:background="?background"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" >
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
|
|
|
@ -18,6 +18,14 @@
|
|||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0.0">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/back_shadow"
|
||||
android:layout_width="6dp"
|
||||
android:alpha="0.25"
|
||||
android:visibility="gone"
|
||||
android:layout_height="match_parent"
|
||||
android:src="@drawable/shape_gradient_start_shadow"
|
||||
android:importantForAccessibility="no" />
|
||||
</com.bluelinelabs.conductor.ChangeHandlerFrameLayout>
|
||||
|
||||
<eu.kanade.tachiyomi.ui.base.ExpandedAppBarLayout
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:background="?background"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue