[mobile] adjust dialog

pull/123/head
FongMi 3 years ago
parent c0f20ab036
commit b18a85a20b
  1. 15
      app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/LiveDialog.java
  2. 16
      app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/SiteDialog.java

@ -20,6 +20,7 @@ import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
public class LiveDialog extends BaseDialog implements LiveAdapter.OnClickListener {
private final LiveAdapter adapter;
private DialogLiveBinding binding;
private LiveCallback callback;
@ -27,6 +28,10 @@ public class LiveDialog extends BaseDialog implements LiveAdapter.OnClickListene
return new LiveDialog();
}
public LiveDialog() {
this.adapter = new LiveAdapter(this);
}
public void show(FragmentActivity activity) {
for (Fragment f : activity.getSupportFragmentManager().getFragments()) if (f instanceof BottomSheetDialogFragment) return;
show(activity.getSupportFragmentManager(), null);
@ -39,6 +44,10 @@ public class LiveDialog extends BaseDialog implements LiveAdapter.OnClickListene
this.callback = (LiveCallback) fragment;
}
private int getCount() {
return adapter.getItemCount() < 2 ? 1 : 2;
}
@Override
protected ViewBinding getBinding(@NonNull LayoutInflater inflater, @Nullable ViewGroup container) {
return binding = DialogLiveBinding.inflate(inflater, container, false);
@ -46,10 +55,10 @@ public class LiveDialog extends BaseDialog implements LiveAdapter.OnClickListene
@Override
protected void initView() {
binding.recycler.setAdapter(adapter);
binding.recycler.setHasFixedSize(true);
binding.recycler.setAdapter(new LiveAdapter(this));
binding.recycler.addItemDecoration(new SpaceItemDecoration(2, 16));
binding.recycler.setLayoutManager(new GridLayoutManager(getContext(), 2));
binding.recycler.addItemDecoration(new SpaceItemDecoration(getCount(), 16));
binding.recycler.setLayoutManager(new GridLayoutManager(getContext(), getCount()));
binding.recycler.scrollToPosition(LiveConfig.getHomeIndex());
}

@ -23,7 +23,7 @@ public class SiteDialog extends BaseDialog implements SiteAdapter.OnClickListene
private final SiteAdapter adapter;
private DialogSiteBinding binding;
private SiteCallback callback;
private int spanCount;
private int count;
public static SiteDialog create() {
return new SiteDialog();
@ -35,20 +35,20 @@ public class SiteDialog extends BaseDialog implements SiteAdapter.OnClickListene
public SiteDialog search() {
this.adapter.search(true);
this.spanCount = 2;
this.count = 2;
return this;
}
public SiteDialog change() {
this.adapter.change(true);
this.spanCount = 2;
this.count = 2;
return this;
}
public SiteDialog all() {
this.adapter.search(true);
this.adapter.change(true);
this.spanCount = 1;
this.count = 1;
return this;
}
@ -64,6 +64,10 @@ public class SiteDialog extends BaseDialog implements SiteAdapter.OnClickListene
this.callback = (SiteCallback) fragment;
}
private int getCount() {
return adapter.getItemCount() < 2 ? 1 : count;
}
@Override
protected ViewBinding getBinding(@NonNull LayoutInflater inflater, @Nullable ViewGroup container) {
return binding = DialogSiteBinding.inflate(inflater, container, false);
@ -74,8 +78,8 @@ public class SiteDialog extends BaseDialog implements SiteAdapter.OnClickListene
binding.recycler.setAdapter(adapter);
binding.recycler.setItemAnimator(null);
binding.recycler.setHasFixedSize(true);
binding.recycler.addItemDecoration(new SpaceItemDecoration(spanCount, 16));
binding.recycler.setLayoutManager(new GridLayoutManager(getContext(), spanCount));
binding.recycler.addItemDecoration(new SpaceItemDecoration(getCount(), 16));
binding.recycler.setLayoutManager(new GridLayoutManager(getContext(), getCount()));
binding.recycler.scrollToPosition(ApiConfig.getHomeIndex());
}

Loading…
Cancel
Save