[mobile] fix fab show hide

pull/123/head
FongMi 3 years ago
parent a0bca3c57c
commit c939d7f338
  1. 21
      app/src/main/java/com/fongmi/android/tv/utils/Utils.java
  2. 13
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java
  3. 2
      app/src/mobile/res/layout/activity_main.xml

@ -22,7 +22,6 @@ import androidx.fragment.app.FragmentActivity;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.server.Server;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.permissionx.guolindev.PermissionX;
import java.math.BigInteger;
@ -84,26 +83,6 @@ public class Utils {
window.getDecorView().setSystemUiVisibility(flags);
}
public static void toggleFab(int dy, FloatingActionButton fab) {
if (Math.abs(dy) < 50) return;
if (dy > 0) Utils.hideFab(fab);
else Utils.showFab(fab);
}
public static void showFab(FloatingActionButton fab) {
if (fab.getVisibility() == View.INVISIBLE) fab.show();
}
public static void hideFab(FloatingActionButton fab) {
if (fab.getVisibility() != View.VISIBLE) return;
fab.hide(new FloatingActionButton.OnVisibilityChangedListener() {
@Override
public void onHidden(FloatingActionButton fab) {
fab.setVisibility(View.INVISIBLE);
}
});
}
public static boolean hasPIP() {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && App.get().getPackageManager().hasSystemFeature(PackageManager.FEATURE_PICTURE_IN_PICTURE);
}

@ -75,9 +75,9 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
mBinding.pager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
setFabVisible(mAdapter.get(mBinding.pager.getCurrentItem()).getFilters().size() > 0);
mBinding.type.smoothScrollToPosition(position);
mAdapter.setActivated(position);
setFabVisible(position);
}
});
}
@ -88,13 +88,16 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
mBinding.type.setAdapter(mAdapter = new TypeAdapter(this));
}
private void setFabVisible(boolean filter) {
if (filter) {
private void setFabVisible(int position) {
if (position == 0) {
mBinding.filter.hide();
mBinding.link.show();
} else if (mAdapter.get(position).getFilters().size() > 0) {
mBinding.filter.show();
mBinding.link.hide();
} else {
mBinding.filter.hide();
mBinding.link.show();
mBinding.link.hide();
}
}
@ -127,8 +130,8 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
}
private void homeContent() {
setFabVisible(0);
mAdapter.clear();
setFabVisible(false);
mBinding.pager.setAdapter(new PageAdapter(getChildFragmentManager()));
mBinding.title.setText(getSite().getName().isEmpty() ? getString(R.string.app_name) : getSite().getName());
}

@ -16,7 +16,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@color/white_70"
android:background="@color/white_80"
app:elevation="0dp"
app:menu="@menu/menu_nav" />

Loading…
Cancel
Save