fix style 样式(ratio 0.764 默认竖图 1.333 4:3 1.777 横图)

main
于俊 12 months ago
parent 4ced7422bd
commit 37ac6588ab
  1. 8
      app/src/main/java/com/github/tvbox/osc/ui/adapter/GridAdapter.java
  2. 17
      app/src/main/java/com/github/tvbox/osc/ui/fragment/GridFragment.java

@ -26,7 +26,7 @@ import me.jessyan.autosize.utils.AutoSizeUtils;
*/
public class GridAdapter extends BaseQuickAdapter<Movie.Video, BaseViewHolder> {
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<Movie.Video, BaseViewHolder> {
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;
}

@ -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() {

Loading…
Cancel
Save