gpt4 book ai didi

android - 使用 "AndroidSwipeLayout"库的 "daimajia"版本高于 4.4 (kitkat) 的问题- BackView 从右侧更多地滑动

转载 作者:太空狗 更新时间:2023-10-29 15:51:50 24 4
gpt4 key购买 nike

我使用了来自“daimajia”的 AndroidSwipeLayout 库 Android Swipe Layout

虽然对于 4.4 Kitkat 以上的版本,它工作正常。滑动布局的后 View 是从右侧滑动更多..

kitkat 4.4以下及以上版本请引用附件图片

Android Swipe Layout Works Perfectly for Android Ver. 4.2 (jellybean) below Kitkat

Android Swipe Layout Works Perfectly for Android Ver. 4.2 (jellybean) below Kitkat

Android Swipe Layout - backview slides more from right for Android ver. 4.4 Kitkat and above

Android Swipe Layout - backview slides more from right for Android ver. 4.4 Kitkat and above

最佳答案

我做了一些研究,发现拖动距离有问题。现在我已经找到解决方法了。这会导致动画出现奇怪的跳跃,但最终 backview 会转到正确的位置。我会尝试找到更好的解决方案。

在“SwipeLayout”类中,我们需要修改“open”方法:

public void open(boolean smooth, boolean notify) {
View surface = getSurfaceView(), bottom = getCurrentBottomView();
if (surface == null) {
return;
}
int dx, dy;
Rect rect = computeSurfaceLayoutArea(true);
// if (smooth) {
// mDragHelper.smoothSlideViewTo(surface, rect.left, rect.top);
// } else {
dx = rect.left - surface.getLeft();
dy = rect.top - surface.getTop();
surface.layout(rect.left, rect.top, rect.right, rect.bottom);
if (getShowMode() == ShowMode.PullOut) {
Rect bRect = computeBottomLayoutAreaViaSurface(ShowMode.PullOut, rect);
if (bottom != null) {
bottom.layout(bRect.left, bRect.top, bRect.right, bRect.bottom);
}
}
if (notify) {
dispatchRevealEvent(rect.left, rect.top, rect.right, rect.bottom);
dispatchSwipeEvent(rect.left, rect.top, dx, dy);
} else {
safeBottomView();
}
// }
invalidate();
}

关于android - 使用 "AndroidSwipeLayout"库的 "daimajia"版本高于 4.4 (kitkat) 的问题- BackView 从右侧更多地滑动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33075574/

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