From 382d1e8f744eb76de351583bc800916e136ed1d9 Mon Sep 17 00:00:00 2001 From: FongMi Date: Mon, 4 Sep 2023 18:36:28 +0800 Subject: [PATCH] [mobile] support pad layout - part 7 --- app/src/mobile/java/com/fongmi/android/tv/Product.java | 4 ++-- .../fongmi/android/tv/ui/activity/CollectActivity.java | 8 ++++---- .../com/fongmi/android/tv/ui/adapter/SearchAdapter.java | 6 ++++-- .../com/fongmi/android/tv/ui/fragment/TypeFragment.java | 2 +- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/app/src/mobile/java/com/fongmi/android/tv/Product.java b/app/src/mobile/java/com/fongmi/android/tv/Product.java index 9940d54f4..0ba965c1c 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/Product.java +++ b/app/src/mobile/java/com/fongmi/android/tv/Product.java @@ -12,8 +12,8 @@ public class Product { } public static int getColumn() { - int count = ResUtil.isPad() ? 6 : 5; - count = count + ResUtil.getOrient() - 1; + int count = ResUtil.isLand() ? 7 : 5; + count = count + (ResUtil.isPad() ? 1 : 0); return Math.abs(Setting.getSize() - count); } diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/CollectActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/CollectActivity.java index 962873ef1..e25cd89a6 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/CollectActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/CollectActivity.java @@ -140,10 +140,10 @@ public class CollectActivity extends BaseActivity implements CustomScroller.Call } private void setViewType(int viewType) { - int count = Product.getColumn(); - mSearchAdapter.setViewType(viewType); - mSearchAdapter.setSize(Product.getSpec(this, ResUtil.dp2px((count + 1) * 16), count)); - ((GridLayoutManager) mBinding.recycler.getLayoutManager()).setSpanCount(mSearchAdapter.isGrid() ? count - 1 : 1); + int count = Product.getColumn() - 1; + mSearchAdapter.setViewType(viewType, count); + mSearchAdapter.setSize(Product.getSpec(this, ResUtil.dp2px((count + 2) * 16), count + 1)); + ((GridLayoutManager) mBinding.recycler.getLayoutManager()).setSpanCount(mSearchAdapter.isGrid() ? count : 1); mBinding.view.setImageResource(mSearchAdapter.isGrid() ? R.drawable.ic_action_list : R.drawable.ic_action_grid); RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) mBinding.collect.getLayoutParams(); params.width = mSearchAdapter.getWidth() + ResUtil.dp2px(24); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/SearchAdapter.java b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/SearchAdapter.java index 3a7e9820b..6f299ebf9 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/SearchAdapter.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/SearchAdapter.java @@ -30,8 +30,10 @@ public class SearchAdapter extends RecyclerView.Adapter { this.mItems = new ArrayList<>(); } - public void setViewType(int viewType) { - Setting.putViewType(this.viewType = viewType); + public void setViewType(int viewType, int count) { + if (this.viewType > 0 && this.viewType != viewType && count == 1) notifyDataSetChanged(); + Setting.putViewType(viewType); + this.viewType = viewType; } public void setSize(int[] size) { diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/TypeFragment.java b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/TypeFragment.java index a16ddeedb..26d6b9ca1 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/TypeFragment.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/TypeFragment.java @@ -169,7 +169,7 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac } private void checkMore(int count) { - if (mScroller.isDisable() || count == 0 || mAdapter.getItemCount() >= 40 || isHome()) return; + if (mScroller.isDisable() || count == 0 || mBinding.recycler.canScrollVertically(1) || mBinding.recycler.getScrollState() > 0 || isHome()) return; getVideo(getTypeId(), String.valueOf(mScroller.addPage())); }