gpt4 book ai didi

android - 右侧的抽屉导航未保持打开状态

转载 作者:行者123 更新时间:2023-11-29 17:58:59 25 4
gpt4 key购买 nike

我正在使用从右向右滑动的 NavigationDrawer 来显示一些过滤器。问题是右边的抽屉只有在做一个 throw 手势时才会保持打开状态。如果我将重力属性更改为 startleft,那么它会保持正常打开状态。我认为正常的情况是缓慢拖动然后放手将使抽屉保持打开状态。抽屉在右边,似乎有一个偏向关闭的位置。

我做错了什么吗?有没有办法让它正常滑动?我的用户很难弄清楚他们需要扔东西来保持抽屉打开。

使用支持库。

需要一掷千金:

<LinearLayout
android:id="@+id/filtersDrawer"
android:layout_width="200dp"
android:layout_height="fill_parent"
android:layout_gravity="end"
android:background="@color/drawer_color"
android:orientation="vertical" >

不需要一掷千金:

<LinearLayout
android:id="@+id/filtersDrawer"
android:layout_width="200dp"
android:layout_height="fill_parent"
android:layout_gravity="start"
android:background="@color/drawer_color"
android:orientation="vertical" >

谢谢!

最佳答案

我觉得我已经提出了正确的逻辑来解决库存实现中的缺陷。

drawerLayout.setDrawerListener(new DrawerLayout.DrawerListener() {
/**
* percentage of its width that the drawer needs to be open to
* trigger a toggle (between 0 and 1).
**/
private static final float TOGGLE_OFFSET = 0.3f;

private float lastSlideOffset;
private boolean isDragging;

@Override
public void onDrawerSlide(View view, float slideOffset) {
lastSlideOffset = slideOffset;
}

@Override
public void onDrawerOpened(View view) {}

@Override
public void onDrawerClosed(View view) {}

@Override
public void onDrawerStateChanged(int newState) {
switch (newState) {
case DrawerLayout.STATE_DRAGGING:
isDragging = true;
break;

case DrawerLayout.STATE_IDLE:
isDragging = false;
break;

case DrawerLayout.STATE_SETTLING:
if (isDragging) {
attemptToggle();
}
break;
}
}

private void attemptToggle() {
if (drawerLayout.isDrawerOpen(Gravity.END)) {
if (lastSlideOffset <= 1 - TOGGLE_OFFSET) {
drawerLayout.closeDrawer(Gravity.END);
} else {
drawerLayout.openDrawer(Gravity.END);
}

} else {
if (lastSlideOffset >= TOGGLE_OFFSET) {
drawerLayout.openDrawer(Gravity.END);
} else {
drawerLayout.closeDrawer(Gravity.END);
}
}
}
});

关于android - 右侧的抽屉导航未保持打开状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17326361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com