Fix recycler scroll

pull/137/head
FongMi 2 years ago
parent c3deeb95db
commit 4b7bf03750
  1. 3
      app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/DohDialog.java
  2. 3
      app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/LiveDialog.java
  3. 3
      app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/SiteDialog.java
  4. 5
      app/src/main/java/com/fongmi/android/tv/ui/custom/dialog/TrackDialog.java
  5. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/LiveDialog.java
  6. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/SiteDialog.java

@ -6,6 +6,7 @@ import android.view.WindowManager;
import androidx.appcompat.app.AlertDialog;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.databinding.DialogDohBinding;
import com.fongmi.android.tv.impl.DohCallback;
import com.fongmi.android.tv.ui.adapter.DohAdapter;
@ -46,7 +47,7 @@ public class DohDialog implements DohAdapter.OnClickListener {
binding.recycler.setAdapter(adapter);
binding.recycler.setHasFixedSize(true);
binding.recycler.addItemDecoration(new SpaceItemDecoration(1, 16));
binding.recycler.scrollToPosition(adapter.getSelect());
App.post(() -> binding.recycler.scrollToPosition(adapter.getSelect()), 16);
}
private void setDialog() {

@ -7,6 +7,7 @@ import android.view.WindowManager;
import androidx.appcompat.app.AlertDialog;
import androidx.recyclerview.widget.GridLayoutManager;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.api.LiveConfig;
import com.fongmi.android.tv.bean.Live;
import com.fongmi.android.tv.databinding.DialogLiveBinding;
@ -44,7 +45,7 @@ public class LiveDialog implements LiveAdapter.OnClickListener {
binding.recycler.setHasFixedSize(true);
binding.recycler.addItemDecoration(new SpaceItemDecoration(1, 16));
binding.recycler.setLayoutManager(new GridLayoutManager(dialog.getContext(), 1));
binding.recycler.scrollToPosition(LiveConfig.getHomeIndex());
App.post(() -> binding.recycler.scrollToPosition(LiveConfig.getHomeIndex()), 16);
}
private void setDialog() {

@ -10,6 +10,7 @@ import androidx.appcompat.app.AlertDialog;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.api.ApiConfig;
import com.fongmi.android.tv.bean.Site;
@ -94,7 +95,7 @@ public class SiteDialog implements SiteAdapter.OnClickListener, CompoundButton.O
if (decoration != null) binding.recycler.removeItemDecoration(decoration);
binding.recycler.addItemDecoration(decoration = new SpaceItemDecoration(getCount(), 16));
binding.recycler.setLayoutManager(new GridLayoutManager(dialog.getContext(), getCount()));
if (!binding.mode.hasFocus()) binding.recycler.scrollToPosition(ApiConfig.getHomeIndex());
if (!binding.mode.hasFocus()) App.post(() -> binding.recycler.scrollToPosition(ApiConfig.getHomeIndex()), 16);
}
private void setDialog() {

@ -10,6 +10,7 @@ import androidx.fragment.app.FragmentActivity;
import androidx.media3.common.Tracks;
import androidx.viewbinding.ViewBinding;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.bean.Track;
import com.fongmi.android.tv.databinding.DialogTrackBinding;
import com.fongmi.android.tv.player.Players;
@ -65,9 +66,9 @@ public final class TrackDialog extends BaseDialog implements TrackAdapter.OnClic
@Override
protected void initView() {
binding.recycler.setHasFixedSize(true);
binding.recycler.addItemDecoration(new SpaceItemDecoration(1, 16));
binding.recycler.setAdapter(adapter.addAll(getTrack()));
binding.recycler.scrollToPosition(adapter.getSelected());
binding.recycler.addItemDecoration(new SpaceItemDecoration(1, 16));
App.post(() -> binding.recycler.scrollToPosition(adapter.getSelected()), 16);
}
private List<Track> getTrack() {

@ -54,7 +54,7 @@ public class LiveDialog implements LiveAdapter.OnClickListener {
binding.recycler.setAdapter(adapter);
binding.recycler.setHasFixedSize(true);
binding.recycler.addItemDecoration(new SpaceItemDecoration(1, 8));
binding.recycler.scrollToPosition(LiveConfig.getHomeIndex());
App.post(() -> binding.recycler.scrollToPosition(LiveConfig.getHomeIndex()), 16);
}
private void setDialog() {

@ -71,7 +71,7 @@ public class SiteDialog implements SiteAdapter.OnClickListener {
binding.recycler.setItemAnimator(null);
binding.recycler.setHasFixedSize(true);
binding.recycler.addItemDecoration(new SpaceItemDecoration(1, 8));
binding.recycler.scrollToPosition(ApiConfig.getHomeIndex());
App.post(() -> binding.recycler.scrollToPosition(ApiConfig.getHomeIndex()), 16);
}
private void setDialog() {

Loading…
Cancel
Save