Use own drawerlayout library

This commit is contained in:
NekoInverter committed 2020-11-15 23:34:14 +08:00
1 parent 235bb4ab75
commit c005a4f162
5 files changed
+39 -6

No files matched your search

+1 -1
View File
@@ -3,7 +3,6 @@ apply plugin: 'com.google.android.gms.oss-licenses-plugin'
android {
compileSdkVersion 30
buildToolsVersion "30.0.2"
ndkVersion "21.3.6528147"
signingConfigs {
def keystorePwd = null
@@ -112,6 +111,7 @@ dependencies {
implementation 'com.squareup.okhttp3:okhttp:3.14.7'
implementation 'com.squareup.okhttp3:okhttp-dnsoverhttps:3.14.7'
implementation 'com.takisoft.preferencex:preferencex:1.1.0'
implementation 'com.github.NekoInverter:DrawerLayout:6ba992f8d4'
implementation 'com.github.NekoInverter:Image:8fd6c1e1df'
implementation 'com.github.NekoInverter.preferencex-android:preferencex-simplemenu:88f93154b2'
implementation 'org.ccil.cowan.tagsoup:tagsoup:1.2.1'
@@ -39,12 +39,12 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import androidx.appcompat.app.AppCompatDelegate;
import androidx.drawerlayout.widget.DrawerLayout;
import com.google.android.material.card.MaterialCardView;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.navigation.NavigationView;
import com.google.android.material.snackbar.Snackbar;
import com.hippo.drawerlayout.DrawerLayout;
import com.hippo.ehviewer.AppConfig;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.R;
@@ -679,4 +679,18 @@ public final class MainActivity extends StageActivity
break;
}
}
public void setDrawerGestureBlocker(EhDrawerLayout.GestureBlocker gestureBlocker) {
if (mDrawerLayout != null) {
mDrawerLayout.setGestureBlocker(gestureBlocker);
}
}
public boolean isDrawersVisible() {
if (mDrawerLayout != null) {
return mDrawerLayout.isDrawersVisible();
} else {
return false;
}
}
}
@@ -112,6 +112,13 @@ public abstract class BaseScene extends SceneFragment {
}
}
public void setDrawerGestureBlocker(EhDrawerLayout.GestureBlocker gestureBlocker) {
FragmentActivity activity = getActivity();
if (activity instanceof MainActivity) {
((MainActivity) activity).setDrawerGestureBlocker(gestureBlocker);
}
}
public void toggleDrawer(int drawerGravity) {
FragmentActivity activity = getActivity();
if (activity instanceof MainActivity) {
@@ -119,6 +126,15 @@ public abstract class BaseScene extends SceneFragment {
}
}
public boolean isDrawersVisible() {
FragmentActivity activity = getActivity();
if (activity instanceof MainActivity) {
return ((MainActivity) activity).isDrawersVisible();
} else {
return false;
}
}
public void showTip(CharSequence message, int length) {
FragmentActivity activity = getActivity();
if (activity instanceof MainActivity) {
@@ -38,9 +38,11 @@ import android.util.Pair;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewAnimationUtils;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
@@ -93,6 +95,7 @@ import com.hippo.ehviewer.ui.CommonOperations;
import com.hippo.ehviewer.ui.GalleryActivity;
import com.hippo.ehviewer.ui.MainActivity;
import com.hippo.ehviewer.ui.annotation.WholeLifeCircle;
import com.hippo.ehviewer.widget.EhDrawerLayout;
import com.hippo.ehviewer.widget.GalleryRatingBar;
import com.hippo.scene.Announcer;
import com.hippo.scene.SceneFragment;
@@ -483,7 +486,7 @@ public class GalleryDetailScene extends BaseScene implements View.OnClickListene
AssertUtils.assertNotNull(context);
View actionsScrollView = ViewUtils.$$(view, R.id.actions_scroll_view);
/*setDrawerGestureBlocker(new DrawerLayout.GestureBlocker() {
setDrawerGestureBlocker(new EhDrawerLayout.GestureBlocker() {
private void transformPointToViewLocal(int[] point, View child) {
ViewParent viewParent = child.getParent();
@@ -492,7 +495,7 @@ public class GalleryDetailScene extends BaseScene implements View.OnClickListene
point[0] += view.getScrollX() - child.getLeft();
point[1] += view.getScrollY() - child.getTop();
if (view instanceof DrawerLayout) {
if (view instanceof EhDrawerLayout) {
break;
}
@@ -509,7 +512,7 @@ public class GalleryDetailScene extends BaseScene implements View.OnClickListene
&& point[0] > 0 && point[0] < actionsScrollView.getWidth()
&& point[1] > 0 && point[1] < actionsScrollView.getHeight();
}
});*/
});
Drawable drawable = DrawableManager.getVectorDrawable(context, R.drawable.big_sad_pandroid);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
@@ -25,9 +25,9 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.coordinatorlayout.widget.CoordinatorLayout;
import androidx.core.view.ViewCompat;
import androidx.drawerlayout.widget.DrawerLayout;
import com.google.android.material.snackbar.Snackbar;
import com.hippo.drawerlayout.DrawerLayout;
import com.hippo.yorozuya.LayoutUtils;
import java.util.ArrayList;