我正在寻找在抽屉半封闭时实施具有可点击功能的半封闭滑动抽屉。但是,关闭抽屉后,我发现图形可能已经设置了动画,但按钮的可点击区域保持在相同的位置。我试图在slidingdrawer类中的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时向下移动可点击按钮的位置?
谢谢。
此致
答案 0 :(得分:0)
不推荐使用SlidingDrawer,请注意Android Documentation.
此类在API级别17中已弃用。
这意味着Google不再支持它,您不应该将其排除在外。
我相信你应该尝试使用不同的实现。您可以查看here选项。