[mobile] support pad layout - part 6

pull/142/head
FongMi 3 years ago
parent 5a7329990b
commit 3ad30aa780
  1. 10
      app/src/main/java/com/fongmi/android/tv/utils/ResUtil.java
  2. 8
      app/src/mobile/java/com/fongmi/android/tv/Product.java
  3. 6
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/CollectActivity.java
  4. 4
      app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/EpisodeGridDialog.java

@ -85,8 +85,16 @@ public class ResUtil {
return e.getRawX() < edge || e.getRawX() > getScreenWidthNav() - edge || e.getRawY() < edge || e.getRawY() > getScreenHeightNav() - edge;
}
public static int getOrient() {
return App.get().getResources().getConfiguration().orientation;
}
public static boolean isLand() {
return App.get().getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE;
return getOrient() == Configuration.ORIENTATION_LANDSCAPE;
}
public static boolean isPad() {
return App.get().getResources().getConfiguration().smallestScreenWidthDp >= 600;
}
public static int sp2px(int sp) {

@ -7,16 +7,14 @@ import com.fongmi.android.tv.utils.ResUtil;
public class Product {
public static boolean isPad() {
return App.get().getResources().getConfiguration().smallestScreenWidthDp >= 600;
}
public static int getDeviceType() {
return 1;
}
public static int getColumn() {
return Math.abs(Setting.getSize() - (isPad() ? 8 : 5));
int count = ResUtil.isPad() ? 6 : 5;
count = count + ResUtil.getOrient() - 1;
return Math.abs(Setting.getSize() - count);
}
public static int getColumn(Style style) {

@ -140,10 +140,10 @@ public class CollectActivity extends BaseActivity implements CustomScroller.Call
}
private void setViewType(int viewType) {
int count = Product.isPad() ? 5 : 2;
int count = Product.getColumn();
mSearchAdapter.setViewType(viewType);
mSearchAdapter.setSize(Product.getSpec(this, ResUtil.dp2px((count + 2) * 16), count + 1));
((GridLayoutManager) mBinding.recycler.getLayoutManager()).setSpanCount(mSearchAdapter.isGrid() ? count : 1);
mSearchAdapter.setSize(Product.getSpec(this, ResUtil.dp2px((count + 1) * 16), count));
((GridLayoutManager) mBinding.recycler.getLayoutManager()).setSpanCount(mSearchAdapter.isGrid() ? count - 1 : 1);
mBinding.view.setImageResource(mSearchAdapter.isGrid() ? R.drawable.ic_action_list : R.drawable.ic_action_grid);
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) mBinding.collect.getLayoutParams();
params.width = mSearchAdapter.getWidth() + ResUtil.dp2px(24);

@ -10,10 +10,10 @@ import androidx.fragment.app.FragmentActivity;
import androidx.viewbinding.ViewBinding;
import androidx.viewpager2.adapter.FragmentStateAdapter;
import com.fongmi.android.tv.Product;
import com.fongmi.android.tv.bean.Episode;
import com.fongmi.android.tv.databinding.DialogEpisodeGridBinding;
import com.fongmi.android.tv.ui.fragment.EpisodeFragment;
import com.fongmi.android.tv.utils.ResUtil;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
import com.google.android.material.tabs.TabLayoutMediator;
@ -67,7 +67,7 @@ public class EpisodeGridDialog extends BaseDialog {
private void setSpanCount() {
int total = 0;
int row = Product.isPad() ? 5 : 10;
int row = ResUtil.isLand() ? 5 : 10;
for (Episode item : episodes) total += item.getName().length();
int offset = (int) Math.ceil((double) total / episodes.size());
if (offset >= 12) spanCount = 1;

Loading…
Cancel
Save