我正在考虑在抽屉半关闭时实现具有可点击功能的半封闭滑动抽屉。但是,在关闭抽屉时,我发现图形可能已被动画化,但按钮的可点击区域仍保留在同一位置。我试图在滑动抽屉类的 moveHandle() 下的滑块类中实现 LayoutParams 类、view.layout() 和 view.offsetTopAndBottom(),但无济于事。下面是 moveHandle() 方法的一个片段:
private void moveHandle(int position) {
final View handle = mHandle;
final View content = mContent;
if (mVertical) {
if (position == EXPANDED_FULL_OPEN) {
handle.offsetTopAndBottom(mTopOffset - handle.getTop());
invalidate();
} else if (position == COLLAPSED_SEMI_CLOSED) {
handle.offsetTopAndBottom(mBottomOffset + getBottom()- getTop()-
mHandleHeight - mSemiClosedContentSize - handle.getTop());
invalidate();
} else {
final int top = handle.getTop();
int deltaY = position - top;
if (position < mTopOffset) {
deltaY = mTopOffset - top;
} else if (deltaY > mBottomOffset + getBottom()- getTop()- mHandleHeight - mSemiClosedContentSize - top) {
deltaY = mBottomOffset + getBottom()- getTop()- mHandleHeight - mSemiClosedContentSize - top;
}
handle.offsetTopAndBottom(deltaY);
final Rect frame = mFrame;
final Rect region = mInvalidate;
handle.getHitRect(frame);
region.set(frame);
region.union(frame.left, frame.top - deltaY, frame.right, frame.bottom - deltaY);
region.union(0, frame.bottom - deltaY, getWidth(),
frame.bottom - deltaY + mContent.getHeight());
invalidate(region);
}
有人有解决方案可以在关闭滑动抽屉时向下移动可点击按钮的位置吗?
谢谢。
问候
SlidingDrawer 已被弃用,参考 Android 文档。
此类在 API 级别 17 中已弃用。
这意味着Google不再支持它,您不应该
将其排除在正常工作之外。我相信您应该尝试使用不同的实现。您可以在此处查找选项。