diff --git a/app/src/main/java/com/hippo/ehviewer/ui/legacy/SearchLayout.kt b/app/src/main/java/com/hippo/ehviewer/ui/legacy/SearchLayout.kt
index 616901fa0..2537a9161 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/legacy/SearchLayout.kt
+++ b/app/src/main/java/com/hippo/ehviewer/ui/legacy/SearchLayout.kt
@@ -186,7 +186,4 @@ class SearchLayout @JvmOverloads constructor(
}
}
}
-
- fun setHelper(helper: () -> Unit) {
- }
}
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.kt b/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.kt
index 9da1fca09..e4a426629 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.kt
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.kt
@@ -210,7 +210,7 @@ class FavoritesScene : SearchBarScene() {
container: ViewGroup?,
savedInstanceState: Bundle?,
): View {
- _binding = SceneFavoritesBinding.inflate(inflater, container, false)
+ _binding = SceneFavoritesBinding.inflate(inflater, container!!)
setOnApplySearch {
if (!binding.recyclerView.isInCustomChoice) {
switchFav(urlBuilder.favCat, it)
@@ -220,8 +220,6 @@ class FavoritesScene : SearchBarScene() {
binding.fastScroller.setHandlerDrawable(HandlerDrawable().apply { setColor(inflater.context.theme.resolveColor(androidx.appcompat.R.attr.colorPrimary)) })
binding.fabLayout.run {
addOnExpandListener { if (!it && binding.recyclerView.isInCustomChoice) binding.recyclerView.outOfCustomChoiceMode() }
- (parent as ViewGroup).removeView(this)
- container!!.addView(this)
ViewCompat.setWindowInsetsAnimationCallback(binding.root, WindowInsetsAnimationHelper(WindowInsetsAnimationCompat.Callback.DISPATCH_MODE_STOP, this))
updateJumpFab()
val colorID = theme.resolveColor(com.google.android.material.R.attr.colorOnSurface)
@@ -287,29 +285,18 @@ class FavoritesScene : SearchBarScene() {
}
addAboveSnackView(this)
}
- binding.run {
- val paddingTopSB = resources.getDimensionPixelOffset(R.dimen.gallery_padding_top_search_bar)
- fastScroller.run {
- setPadding(
- paddingLeft,
- paddingTop + paddingTopSB,
- paddingRight,
- paddingBottom,
- )
- setOnDragHandlerListener(object : OnDragHandlerListener {
- override fun onStartDragHandler() {
- setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.END)
- }
-
- override fun onEndDragHandler() {
- if (!binding.recyclerView.isInCustomChoice) {
- setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED, GravityCompat.END)
- }
- showSearchBar()
- }
- })
+ binding.fastScroller.setOnDragHandlerListener(object : OnDragHandlerListener {
+ override fun onStartDragHandler() {
+ setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.END)
}
- }
+
+ override fun onEndDragHandler() {
+ if (!binding.recyclerView.isInCustomChoice) {
+ setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED, GravityCompat.END)
+ }
+ showSearchBar()
+ }
+ })
binding.recyclerView.run {
mAdapter = GalleryAdapter(
this@run,
@@ -414,7 +401,6 @@ class FavoritesScene : SearchBarScene() {
override fun onDestroyView() {
super.onDestroyView()
binding.recyclerView.stopScroll()
- (binding.fabLayout.parent as ViewGroup).removeView(binding.fabLayout)
removeAboveSnackView(binding.fabLayout)
mAdapter = null
_binding = null
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.kt b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.kt
index e2985d5c8..db5f57266 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.kt
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.kt
@@ -354,8 +354,8 @@ class GalleryListScene : SearchBarScene() {
container: ViewGroup?,
savedInstanceState: Bundle?,
): View {
- _binding = SceneGalleryListBinding.inflate(inflater, container, false)
- binding.root.addView(ComposeView(inflater.context).apply { setMD3Content { dialogState.Handler() } })
+ _binding = SceneGalleryListBinding.inflate(inflater, container!!)
+ container.addView(ComposeView(inflater.context).apply { setMD3Content { dialogState.Handler() } })
checkForUpdates()
requireActivity().onBackPressedDispatcher.addCallback(stateBackPressedCallback)
mHideActionFabSlop = ViewConfiguration.get(requireContext()).scaledTouchSlop
@@ -368,14 +368,7 @@ class GalleryListScene : SearchBarScene() {
mSearchFab.parent as View,
),
)
- (binding.fabLayout.parent as ViewGroup).removeView(binding.fabLayout)
- container!!.addView(binding.fabLayout)
- val paddingTopSB = resources.getDimensionPixelOffset(R.dimen.gallery_padding_top_search_bar)
- val paddingBottomFab = resources.getDimensionPixelOffset(R.dimen.gallery_padding_bottom_fab)
- mViewTransition = BringOutTransition(
- binding.contentLayout,
- binding.searchLayout,
- )
+ mViewTransition = BringOutTransition(binding.contentLayout, binding.searchLayout)
binding.fastScroller.setOnDragHandlerListener(object : OnDragHandlerListener {
override fun onStartDragHandler() {
setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.END)
@@ -446,23 +439,11 @@ class GalleryListScene : SearchBarScene() {
binding.recyclerView.addOnScrollListener(mOnScrollListener)
binding.fastScroller.attachToRecyclerView(binding.recyclerView)
binding.fastScroller.setHandlerDrawable(HandlerDrawable().apply { setColor(inflater.context.theme.resolveColor(androidx.appcompat.R.attr.colorPrimary)) })
- binding.fastScroller.apply {
- setPadding(paddingLeft, paddingTopSB + paddingTop, paddingRight, paddingBottom)
- }
setOnApplySearch { query: String? ->
onApplySearch(query)
}
setSearchBarHint()
setSearchBarSuggestionProvider()
- binding.searchLayout.setHelper { showSearchBar() }
- binding.searchLayout.run {
- setPadding(
- paddingLeft,
- paddingTop + paddingTopSB,
- paddingRight,
- paddingBottom + paddingBottomFab,
- )
- }
binding.fabLayout.setAutoCancel(true)
binding.fabLayout.isExpanded = false
binding.fabLayout.setHidePrimaryFab(false)
@@ -522,7 +503,6 @@ class GalleryListScene : SearchBarScene() {
super.onDestroyView()
stateBackPressedCallback.remove()
binding.recyclerView.stopScroll()
- (binding.fabLayout.parent as ViewGroup).removeView(binding.fabLayout)
removeAboveSnackView(binding.fabLayout)
_binding = null
mAdapter = null
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/SearchBarScene.kt b/app/src/main/java/com/hippo/ehviewer/ui/scene/SearchBarScene.kt
index 09075dc03..c7a71c626 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/SearchBarScene.kt
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/SearchBarScene.kt
@@ -76,8 +76,9 @@ abstract class SearchBarScene : BaseScene(), ToolBarScene {
binding.searchview.addTransitionListener(mSearchViewOnBackPressedCallback)
requireActivity().onBackPressedDispatcher.addCallback(mSearchViewOnBackPressedCallback)
}
- val contentView = onCreateViewWithToolbar(inflater, binding.root, savedInstanceState)
- return binding.root.apply { addView(contentView, 0) }
+ onCreateViewWithToolbar(inflater, binding.root, savedInstanceState)
+ binding.appbar.bringToFront()
+ return binding.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
diff --git a/app/src/main/res/layout/scene_favorites.xml b/app/src/main/res/layout/scene_favorites.xml
index e234016ad..057b32a71 100644
--- a/app/src/main/res/layout/scene_favorites.xml
+++ b/app/src/main/res/layout/scene_favorites.xml
@@ -14,13 +14,8 @@
~ limitations under the License.
-->
-
+
+ android:paddingTop="16dp"
+ app:fitsSystemWindowsInsets="top"
+ app:layout_behavior="@string/searchbar_scrolling_view_behavior">
@@ -70,7 +67,7 @@
android:layout_height="match_parent"
android:paddingEnd="@dimen/corner_fab_margin"
android:paddingBottom="@dimen/corner_fab_margin"
- app:fitsSystemWindowsInsets="top|bottom">
+ app:fitsSystemWindowsInsets="bottom">
-
+
diff --git a/app/src/main/res/layout/scene_gallery_list.xml b/app/src/main/res/layout/scene_gallery_list.xml
index b155b0220..863eb7afa 100644
--- a/app/src/main/res/layout/scene_gallery_list.xml
+++ b/app/src/main/res/layout/scene_gallery_list.xml
@@ -14,19 +14,16 @@
~ limitations under the License.
-->
-
+
+ android:clipChildren="false"
+ android:paddingTop="16dp"
+ app:layout_behavior="@string/searchbar_scrolling_view_behavior">
-
-
+
+
+ app:layout_fitsSystemWindowsInsets="bottom">
-
+