diff --git a/app/src/main/java/io/legado/app/ui/explore/ExploreShowActivity.kt b/app/src/main/java/io/legado/app/ui/explore/ExploreShowActivity.kt index f5896532b..59e4b0502 100644 --- a/app/src/main/java/io/legado/app/ui/explore/ExploreShowActivity.kt +++ b/app/src/main/java/io/legado/app/ui/explore/ExploreShowActivity.kt @@ -12,7 +12,6 @@ import io.legado.app.base.VMBaseActivity import io.legado.app.data.entities.SearchBook import io.legado.app.ui.book.info.BookInfoActivity import io.legado.app.utils.getViewModel -import io.legado.app.utils.gone import kotlinx.android.synthetic.main.activity_explore_show.* import kotlinx.android.synthetic.main.view_load_more.view.* import org.jetbrains.anko.startActivity @@ -41,37 +40,21 @@ class ExploreShowActivity : VMBaseActivity(R.layout.activi loadMoreView = LayoutInflater.from(this).inflate(R.layout.view_load_more, recycler_view, false) adapter.addFooterView(loadMoreView) - recycler_view.addOnScrollListener(object : RecyclerView.OnScrollListener() { - override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) { - super.onScrolled(recyclerView, dx, dy) - if (!recyclerView.canScrollVertically(1)) { - scrollToBottom() - } - } - }) - } - - private fun scrollToBottom() { - adapter.let { - if (it.getActualItemCount() > 0 && hasMore) { - loadMoreView.rotate_loading.show() - viewModel.explore() - } - } + loadMoreView.rotate_loading.show() } private fun upData(books: List) { if (books.isEmpty() && adapter.isEmpty()) { hasMore = false - loadMoreView.rotate_loading.gone() + loadMoreView.rotate_loading.hide(View.INVISIBLE) loadMoreView.tv_text.text = "空" } else if (books.isEmpty()) { hasMore = false - loadMoreView.rotate_loading.gone() + loadMoreView.rotate_loading.hide(View.INVISIBLE) loadMoreView.tv_text.text = "我是有底线的" } else if (adapter.getItems().contains(books.first()) && adapter.getItems().contains(books.last())) { hasMore = false - loadMoreView.rotate_loading.gone() + loadMoreView.rotate_loading.hide(View.INVISIBLE) loadMoreView.tv_text.text = "我是有底线的" } else { adapter.addItems(books) diff --git a/app/src/main/java/io/legado/app/ui/widget/anima/RotateLoading.kt b/app/src/main/java/io/legado/app/ui/widget/anima/RotateLoading.kt index 82df0124f..73b94c880 100644 --- a/app/src/main/java/io/legado/app/ui/widget/anima/RotateLoading.kt +++ b/app/src/main/java/io/legado/app/ui/widget/anima/RotateLoading.kt @@ -176,20 +176,19 @@ class RotateLoading : View { post(shown) } - fun hide() { + fun hide(visibility: Int = GONE) { removeCallbacks(shown) removeCallbacks(hidden) - post(hidden) + stopInternal(visibility) } private fun startInternal() { startAnimator() - isStarted = true invalidate() } - private fun stopInternal() { + private fun stopInternal(visibility: Int = GONE) { stopAnimator() invalidate() } @@ -206,10 +205,10 @@ class RotateLoading : View { .start() } - private fun stopAnimator() { + private fun stopAnimator(visibility: Int = GONE) { animate().cancel() isStarted = false - visibility = GONE + this.visibility = visibility } companion object { diff --git a/app/src/main/res/layout/view_load_more.xml b/app/src/main/res/layout/view_load_more.xml index 996f7dd6c..4b2656a1d 100644 --- a/app/src/main/res/layout/view_load_more.xml +++ b/app/src/main/res/layout/view_load_more.xml @@ -11,7 +11,7 @@ android:layout_height="36dp" android:layout_margin="6dp" android:layout_gravity="center" - android:visibility="gone" + android:visibility="invisible" app:loading_width="2dp" />