[mobile] support pad layout - part 3

pull/142/head
FongMi 3 years ago
parent 16f1203929
commit 7d10048de9
  1. 1
      app/build.gradle
  2. 6
      app/src/mobile/java/com/fongmi/android/tv/Product.java
  3. 9
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/CollectActivity.java
  4. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/adapter/WordAdapter.java
  5. 4
      app/src/mobile/res/layout/activity_collect.xml

@ -125,6 +125,7 @@ dependencies {
mobileImplementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
mobileImplementation 'com.github.chrisbanes:PhotoView:2.3.0'
mobileImplementation 'com.github.devin1014.DLNA-Cast:dlna-dmc:V1.0.0'
mobileImplementation 'com.google.android.flexbox:flexbox:3.0.0'
mobileImplementation('com.journeyapps:zxing-android-embedded:4.3.0') { transitive = false }
annotationProcessor 'androidx.room:room-compiler:2.5.2'
annotationProcessor 'com.github.bumptech.glide:compiler:4.15.1'

@ -7,12 +7,16 @@ 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() - 5);
return Math.abs(Setting.getSize() - (isPad() ? 8 : 5));
}
public static int getColumn(Style style) {

@ -43,6 +43,8 @@ import com.fongmi.android.tv.ui.custom.dialog.SiteDialog;
import com.fongmi.android.tv.utils.ResUtil;
import com.fongmi.android.tv.utils.Utils;
import com.github.catvod.net.OkHttp;
import com.google.android.flexbox.FlexDirection;
import com.google.android.flexbox.FlexboxLayoutManager;
import java.io.IOException;
import java.util.ArrayList;
@ -127,8 +129,10 @@ public class CollectActivity extends BaseActivity implements CustomScroller.Call
mBinding.recycler.setAdapter(mSearchAdapter = new SearchAdapter(this));
mBinding.wordRecycler.setHasFixedSize(true);
mBinding.wordRecycler.setAdapter(mWordAdapter = new WordAdapter(this));
mBinding.wordRecycler.setLayoutManager(new FlexboxLayoutManager(this, FlexDirection.ROW));
mBinding.recordRecycler.setHasFixedSize(true);
mBinding.recordRecycler.setAdapter(mRecordAdapter = new RecordAdapter(this));
mBinding.recordRecycler.setLayoutManager(new FlexboxLayoutManager(this, FlexDirection.ROW));
}
private void setViewType() {
@ -136,9 +140,10 @@ public class CollectActivity extends BaseActivity implements CustomScroller.Call
}
private void setViewType(int viewType) {
int count = Product.isPad() ? 5 : 2;
mSearchAdapter.setViewType(viewType);
mSearchAdapter.setSize(Product.getSpec(this, ResUtil.dp2px(64), 3));
((GridLayoutManager) mBinding.recycler.getLayoutManager()).setSpanCount(mSearchAdapter.isGrid() ? 2 : 1);
mSearchAdapter.setSize(Product.getSpec(this, ResUtil.dp2px((count + 2) * 16), count + 1));
((GridLayoutManager) mBinding.recycler.getLayoutManager()).setSpanCount(mSearchAdapter.isGrid() ? count : 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);

@ -28,7 +28,7 @@ public class WordAdapter extends RecyclerView.Adapter<WordAdapter.ViewHolder> {
public void addAll(List<String> items) {
mItems.clear();
mItems.addAll(items.subList(0, Math.min(items.size(), 10)));
mItems.addAll(items.subList(0, Math.min(items.size(), 20)));
notifyDataSetChanged();
}

@ -75,8 +75,6 @@
android:clipToPadding="false"
android:overScrollMode="never"
android:padding="8dp"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="2"
tools:itemCount="5"
tools:listitem="@layout/adapter_collect_record" />
@ -98,8 +96,6 @@
android:clipToPadding="false"
android:overScrollMode="never"
android:padding="8dp"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="2"
tools:itemCount="5"
tools:listitem="@layout/adapter_collect_word" />

Loading…
Cancel
Save