Prechádzať zdrojové kódy

AppBarLayout不能被拖动

詹子聪 5 rokov pred
rodič
commit
f55178f94d

+ 16 - 0
app/src/main/java/com/miekir/eden/ui/TabActivity.java

@@ -8,6 +8,7 @@ import android.view.View;
 
 import androidx.annotation.Nullable;
 import androidx.appcompat.app.AlertDialog;
+import androidx.coordinatorlayout.widget.CoordinatorLayout;
 import androidx.fragment.app.Fragment;
 import androidx.viewpager.widget.ViewPager;
 
@@ -107,6 +108,21 @@ public class TabActivity extends BaseBeiActivity implements View.OnClickListener
         View rl_search = findViewById(R.id.rl_search);
         // 搜索图标动画
         AppBarLayout abl_main = findViewById(R.id.abl_main);
+
+        // AppBarLayout不能被拖动
+        CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) abl_main.getLayoutParams();
+        abl_main.post(() -> {
+            AppBarLayout.Behavior behavior = (AppBarLayout.Behavior) params.getBehavior();
+            if (behavior != null) {
+                behavior.setDragCallback(new AppBarLayout.Behavior.DragCallback() {
+                    @Override
+                    public boolean canDrag(AppBarLayout appBarLayout) {
+                        return false;
+                    }
+                });
+            }
+        });
+
         AppbarTranslateListener listener = new AppbarTranslateListener(
                 this,
                 defaultWidth, defaultHeight,

+ 0 - 2
app/src/main/res/layout/activity_tab.xml

@@ -154,9 +154,7 @@
                         android:tint="@color/white"/>
                 </FrameLayout>
                 <!--无边界波纹-->
-
             </RelativeLayout>
-
         </LinearLayout>
     </com.google.android.material.appbar.AppBarLayout>