diff --git a/app/src/main/java/se/ajpanton/notificationlog/ViewLogsFragment.kt b/app/src/main/java/se/ajpanton/notificationlog/ViewLogsFragment.kt
index bed327c..b62f691 100644
--- a/app/src/main/java/se/ajpanton/notificationlog/ViewLogsFragment.kt
+++ b/app/src/main/java/se/ajpanton/notificationlog/ViewLogsFragment.kt
@@ -29,6 +29,12 @@ class ViewLogsFragment : Fragment(R.layout.fragment_view_logs) {
super.onViewCreated(view, savedInstanceState)
binding = FragmentViewLogsBinding.bind(view)
binding!!.logsRefresh.setOnRefreshListener(::loadLogs)
+ binding!!.logScroll.setOnScrollChangeListener { _, _, scrollY, _, _ ->
+ binding?.scrollToTop?.visibility = if (scrollY > dp(SCROLL_TO_TOP_THRESHOLD_DP)) View.VISIBLE else View.GONE
+ }
+ binding!!.scrollToTop.setOnClickListener {
+ binding?.logScroll?.smoothScrollTo(0, 0)
+ }
loadLogs()
}
@@ -236,5 +242,6 @@ class ViewLogsFragment : Fragment(R.layout.fragment_view_logs) {
private companion object {
const val LEFT_PILL_WEIGHT = 0.42f
const val RIGHT_PILL_WEIGHT = 0.58f
+ const val SCROLL_TO_TOP_THRESHOLD_DP = 120
}
}
diff --git a/app/src/main/res/layout/fragment_view_logs.xml b/app/src/main/res/layout/fragment_view_logs.xml
index ba61d25..f0a3640 100644
--- a/app/src/main/res/layout/fragment_view_logs.xml
+++ b/app/src/main/res/layout/fragment_view_logs.xml
@@ -1,31 +1,47 @@
-
-
-
-
-
+ android:layout_height="match_parent">
-
-
-
+ android:orientation="vertical"
+ android:padding="@dimen/page_padding">
+
+
+
+
+
+
+
+
+
+