Dim navbar in details screen

master
Koitharu 1 year ago
parent 1a7b9c6969
commit 87c242e2bb
Signed by: Koitharu
GPG Key ID: 676DEE768C17A9D7

@ -152,8 +152,9 @@ class DetailsActivity :
TitleScrollCoordinator(viewBinding.textViewTitle).attach(viewBinding.scrollView) TitleScrollCoordinator(viewBinding.textViewTitle).attach(viewBinding.scrollView)
viewBinding.containerBottomSheet?.let { sheet -> viewBinding.containerBottomSheet?.let { sheet ->
onBackPressedDispatcher.addCallback(BottomSheetCollapseCallback(sheet)) onBackPressedDispatcher.addCallback(BottomSheetCollapseCallback(sheet))
BottomSheetBehavior.from(sheet) BottomSheetBehavior.from(sheet).addBottomSheetCallback(
.addBottomSheetCallback(DetailsBottomSheetCallback(viewBinding.swipeRefreshLayout)) DetailsBottomSheetCallback(viewBinding.swipeRefreshLayout, checkNotNull(viewBinding.navbarDim)),
)
} }
TitleExpandListener(viewBinding.textViewTitle).attach() TitleExpandListener(viewBinding.textViewTitle).attach()

@ -3,14 +3,18 @@ package org.koitharu.kotatsu.details.ui
import android.view.View import android.view.View
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import com.google.android.material.bottomsheet.BottomSheetBehavior import com.google.android.material.bottomsheet.BottomSheetBehavior
import org.koitharu.kotatsu.core.ui.widgets.WindowInsetHolder
class DetailsBottomSheetCallback( class DetailsBottomSheetCallback(
private val swipeRefreshLayout: SwipeRefreshLayout, private val swipeRefreshLayout: SwipeRefreshLayout,
private val navbarDimView: WindowInsetHolder,
) : BottomSheetBehavior.BottomSheetCallback() { ) : BottomSheetBehavior.BottomSheetCallback() {
override fun onStateChanged(bottomSheet: View, newState: Int) { override fun onStateChanged(bottomSheet: View, newState: Int) {
swipeRefreshLayout.isEnabled = newState == BottomSheetBehavior.STATE_COLLAPSED swipeRefreshLayout.isEnabled = newState == BottomSheetBehavior.STATE_COLLAPSED
} }
override fun onSlide(bottomSheet: View, slideOffset: Float) = Unit override fun onSlide(bottomSheet: View, slideOffset: Float) {
navbarDimView.alpha = 1f - slideOffset.coerceAtLeast(0f)
}
} }

@ -317,4 +317,13 @@
app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior" app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"
tools:layout="@layout/sheet_chapters_pages" /> tools:layout="@layout/sheet_chapters_pages" />
<org.koitharu.kotatsu.core.ui.widgets.WindowInsetHolder
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:elevation="9dp"
tools:layout_height="10dp"
android:id="@+id/navbarDim"
android:background="@color/dim2" />
</androidx.coordinatorlayout.widget.CoordinatorLayout> </androidx.coordinatorlayout.widget.CoordinatorLayout>

@ -9,6 +9,7 @@
<color name="launcher_background">#222222</color> <color name="launcher_background">#222222</color>
<color name="common_green">#81C784</color> <color name="common_green">#81C784</color>
<color name="common_red">#E57373</color> <color name="common_red">#E57373</color>
<color name="dim2">#C8000000</color>
<!-- Color schemes colors --> <!-- Color schemes colors -->
<color name="background_miku">#191C1C</color> <color name="background_miku">#191C1C</color>

@ -15,6 +15,7 @@
<color name="blue_primary">#1976D2</color> <color name="blue_primary">#1976D2</color>
<color name="grey">#424242</color> <color name="grey">#424242</color>
<color name="dim">#99000000</color> <color name="dim">#99000000</color>
<color name="dim2">#C8FFFFFF</color>
<color name="warning">#E65100</color> <color name="warning">#E65100</color>
<color name="launcher_background">#FFFFFF</color> <color name="launcher_background">#FFFFFF</color>
<color name="common_green">#388E3C</color> <color name="common_green">#388E3C</color>

Loading…
Cancel
Save