diff --git a/app/src/main/java/com/fongmi/android/tv/ui/custom/SpaceItemDecoration.java b/app/src/main/java/com/fongmi/android/tv/ui/custom/SpaceItemDecoration.java index a49343451..ac03ad0e8 100644 --- a/app/src/main/java/com/fongmi/android/tv/ui/custom/SpaceItemDecoration.java +++ b/app/src/main/java/com/fongmi/android/tv/ui/custom/SpaceItemDecoration.java @@ -13,6 +13,10 @@ public class SpaceItemDecoration extends RecyclerView.ItemDecoration { private final int spacing; private final int spanCount; + public SpaceItemDecoration(int spacing) { + this(-1, spacing); + } + public SpaceItemDecoration(int spanCount, int spacing) { this.spanCount = spanCount; this.spacing = ResUtil.dp2px(spacing); @@ -21,7 +25,10 @@ public class SpaceItemDecoration extends RecyclerView.ItemDecoration { @Override public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, RecyclerView parent, @NonNull RecyclerView.State state) { int position = parent.getChildAdapterPosition(view); - if (position >= 0) { + if (position >= 0 && spanCount == -1) { + outRect.left = position == 0 ? 0 : spacing / 2; + outRect.right = position == parent.getAdapter().getItemCount() - 1 ? 0 : spacing / 2; + } else if (position >= 0 && spanCount > 0) { int column = position % spanCount; outRect.left = column * spacing / spanCount; outRect.right = spacing - (column + 1) * spacing / spanCount; diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/child/SiteFragment.java b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/child/SiteFragment.java index 20162fb3e..60d33e97c 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/child/SiteFragment.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/child/SiteFragment.java @@ -6,6 +6,7 @@ import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.LinearLayoutManager; import androidx.viewbinding.ViewBinding; import com.fongmi.android.tv.bean.History; @@ -44,12 +45,12 @@ public class SiteFragment extends BaseFragment implements VodAdapter.OnClickList private void setRecyclerView() { mBinding.history.setHasFixedSize(true); - mBinding.history.setLayoutManager(new GridLayoutManager(getContext(), 3)); - mBinding.history.addItemDecoration(new SpaceItemDecoration(3, 16)); + mBinding.history.addItemDecoration(new SpaceItemDecoration(16)); + mBinding.history.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.HORIZONTAL, false)); mBinding.history.setAdapter(mHistoryAdapter = new HistoryAdapter(this)); mBinding.recommend.setHasFixedSize(true); - mBinding.recommend.setLayoutManager(new GridLayoutManager(getContext(), 3)); mBinding.recommend.addItemDecoration(new SpaceItemDecoration(3, 16)); + mBinding.recommend.setLayoutManager(new GridLayoutManager(getContext(), 3)); mBinding.recommend.setAdapter(mVodAdapter = new VodAdapter(this)); }