From 37ac6588aba1f38589cfd641186559fba068f502 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8E=E4=BF=8A?= <215613905@qq.com> Date: Tue, 8 Apr 2025 14:35:43 +0800 Subject: [PATCH] =?UTF-8?q?fix=20style=20=E6=A0=B7=E5=BC=8F(ratio=200.764?= =?UTF-8?q?=20=E9=BB=98=E8=AE=A4=E7=AB=96=E5=9B=BE=201.333=204:3=201.777?= =?UTF-8?q?=20=E6=A8=AA=E5=9B=BE)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tvbox/osc/ui/adapter/GridAdapter.java | 8 ++++++-- .../tvbox/osc/ui/fragment/GridFragment.java | 17 +++++++++++++++-- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/github/tvbox/osc/ui/adapter/GridAdapter.java b/app/src/main/java/com/github/tvbox/osc/ui/adapter/GridAdapter.java index c196f275..36721ec3 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/adapter/GridAdapter.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/adapter/GridAdapter.java @@ -26,7 +26,7 @@ import me.jessyan.autosize.utils.AutoSizeUtils; */ public class GridAdapter extends BaseQuickAdapter { private boolean mShowList ; - private final int defaultWidth = 340; + private int defaultWidth = 280; private final Style style; // 动态风格,传入时调整图片宽高比 /** @@ -48,7 +48,11 @@ public class GridAdapter extends BaseQuickAdapter { public GridAdapter(boolean showList, Style style) { super( showList ? R.layout.item_list:R.layout.item_grid, new ArrayList<>()); this.mShowList = showList; - if(style!=null && style.type.equals("list"))this.mShowList=true; + if(style!=null ){ + if(style.type.equals("list"))this.mShowList=true; + if(style.ratio<1)this.defaultWidth=214; + if(style.ratio>1.7)this.defaultWidth=340; + } this.style = style; } diff --git a/app/src/main/java/com/github/tvbox/osc/ui/fragment/GridFragment.java b/app/src/main/java/com/github/tvbox/osc/ui/fragment/GridFragment.java index bb9290b5..843f9e72 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/fragment/GridFragment.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/fragment/GridFragment.java @@ -147,6 +147,8 @@ public class GridFragment extends BaseLazyFragment { if(mGridView != null) mGridView.requestFocus(); return true; } + + private GridAdapter.Style style; // 更改当前页面 private void createView() { this.saveCurrentView(); // 保存当前页面 @@ -165,7 +167,6 @@ public class GridFragment extends BaseLazyFragment { } mGridView.setHasFixedSize(true); - GridAdapter.Style style = null; if(!bStyle.isEmpty()){ try { JSONObject jsonObject = new JSONObject(bStyle); @@ -188,7 +189,19 @@ public class GridFragment extends BaseLazyFragment { if(isFolederMode()){ mGridView.setLayoutManager(new V7LinearLayoutManager(this.mContext, 1, false)); }else{ - mGridView.setLayoutManager(new V7GridLayoutManager(this.mContext, bStyle.isEmpty()?(isBaseOnWidth()?5:6):3)); + int spanCount = isBaseOnWidth()?5:6; + if(!bStyle.isEmpty() && style!=null){ + if ("rect".equals(style.type)) { + if (style.ratio >= 1.7) { + spanCount = 3; // 横图 + } else if (style.ratio >= 1.3) { + spanCount = 4; // 4:3 + } + } else if ("list".equals(style.type)) { + spanCount = 1; + } + } + mGridView.setLayoutManager(new V7GridLayoutManager(this.mContext, spanCount)); } gridAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {