Skip to content

Commit 6013f8b

Browse files
Bottom nav auto hide on scroll changed
Fixes #44: Last item hide behind bottom nav fixed
2 parents 1f80313 + 2b6cad0 commit 6013f8b

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

app/src/main/java/com/github/code/gambit/ui/fragment/home/HomeFragment.kt

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import androidx.core.view.isVisible
99
import androidx.fragment.app.Fragment
1010
import androidx.fragment.app.viewModels
1111
import androidx.recyclerview.widget.LinearLayoutManager
12+
import androidx.recyclerview.widget.RecyclerView
1213
import com.github.code.gambit.R
1314
import com.github.code.gambit.data.model.File
1415
import com.github.code.gambit.data.model.Url
@@ -144,10 +145,30 @@ class HomeFragment : Fragment(R.layout.fragment_home), FileUrlClickCallback, Bot
144145
}
145146

146147
private fun setUpFileRecyclerView() {
147-
binding.fileList.layoutManager = LinearLayoutManager(requireContext())
148+
val layoutManager = LinearLayoutManager(requireContext())
149+
binding.fileList.layoutManager = layoutManager
148150
binding.fileList.setHasFixedSize(false)
149151
binding.fileList.adapter = adapter
150152
adapter.listener = this
153+
binding.fileList.addOnScrollListener(object : RecyclerView.OnScrollListener() {
154+
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
155+
if (searchBinding.root.isVisible) {
156+
super.onScrolled(recyclerView, dx, dy)
157+
return
158+
}
159+
if (dy > 0) {
160+
hideBottomNav()
161+
} else {
162+
showBottomNav()
163+
}
164+
if (!recyclerView.canScrollVertically(1) && layoutManager.findLastVisibleItemPosition() == layoutManager.itemCount - 1) {
165+
// shortToast("End of list")
166+
println()
167+
}
168+
Timber.tag("home").i("(dx: $dx, dy: $dy)")
169+
super.onScrolled(recyclerView, dx, dy)
170+
}
171+
})
151172
}
152173

153174
private fun registerUrlComponent() {

0 commit comments

Comments
 (0)