[mobile] support orientation change

pull/123/head
FongMi 3 years ago
parent e14fbff210
commit 245df92d58
  1. 5
      app/src/main/java/com/fongmi/android/tv/ui/activity/BaseFragment.java
  2. 12
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/child/SiteFragment.java
  3. 6
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/child/TypeFragment.java

@ -1,5 +1,6 @@
package com.fongmi.android.tv.ui.activity;
import android.content.res.Configuration;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
@ -20,6 +21,10 @@ public abstract class BaseFragment extends Fragment {
protected abstract ViewBinding getBinding(@NonNull LayoutInflater inflater, @Nullable ViewGroup container);
protected int getSpanCount() {
return getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT ? 3 : 6;
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

@ -47,10 +47,10 @@ public class SiteFragment extends BaseFragment implements VodAdapter.OnClickList
private void setRecyclerView() {
mBinding.history.setHasFixedSize(true);
mBinding.history.getItemAnimator().setChangeDuration(0);
mBinding.history.setLayoutManager(mHistoryManager = new GridLayoutManager(getContext(), 3));
mBinding.history.setLayoutManager(mHistoryManager = new GridLayoutManager(getContext(), getSpanCount()));
mBinding.history.setAdapter(mHistoryAdapter = new HistoryAdapter(this));
mBinding.recommend.setHasFixedSize(true);
mBinding.recommend.setLayoutManager(mRecommendManager = new GridLayoutManager(getContext(), 3));
mBinding.recommend.setLayoutManager(mRecommendManager = new GridLayoutManager(getContext(), getSpanCount()));
mBinding.recommend.setAdapter(mVodAdapter = new VodAdapter(this));
}
@ -118,11 +118,11 @@ public class SiteFragment extends BaseFragment implements VodAdapter.OnClickList
public void onConfigurationChanged(@NonNull Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
mHistoryManager.setSpanCount(3);
mRecommendManager.setSpanCount(3);
mHistoryManager.setSpanCount(getSpanCount());
mRecommendManager.setSpanCount(getSpanCount());
} else if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
mHistoryManager.setSpanCount(6);
mRecommendManager.setSpanCount(6);
mHistoryManager.setSpanCount(getSpanCount());
mRecommendManager.setSpanCount(getSpanCount());
}
}
}

@ -94,7 +94,7 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac
//mBinding.filter.setAdapter(mFilterAdapter = new FilterAdapter(this));
mBinding.recycler.setHasFixedSize(true);
mBinding.recycler.setAdapter(mVodAdapter = new VodAdapter(this));
mBinding.recycler.setLayoutManager(mGridLayoutManager = new GridLayoutManager(getContext(), 3));
mBinding.recycler.setLayoutManager(mGridLayoutManager = new GridLayoutManager(getContext(), getSpanCount()));
}
private void setViewModel() {
@ -181,9 +181,9 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac
public void onConfigurationChanged(@NonNull Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
mGridLayoutManager.setSpanCount(3);
mGridLayoutManager.setSpanCount(getSpanCount());
} else if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
mGridLayoutManager.setSpanCount(6);
mGridLayoutManager.setSpanCount(getSpanCount());
}
}
}

Loading…
Cancel
Save