я использую SemiClosedSlidingDrawer (http://pastebin.com/FtVyrcEb), и я добавил часть содержимого некоторые кнопки в верхней части ползунка, которые всегда видны.
Проблема в том, что они кликабельны (или событие нажатия отправляется) только тогда, когда ползунок полностью открыт...
Когда ползунок "полуоткрыт", событие щелчка не кажется отправленным на кнопку...
Я проверил с помощью отладчика onInterceptTouchEvent() и в обоих случаях (открытый/полусвернутый) следующий код
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
if (mLocked) {
return false;
}
final int action = event.getAction();
float x = event.getX();
float y = event.getY();
final Rect frame = mFrame;
final View handle = mHandle;
handle.getHitRect(frame);
//FOLLOWING THE CRITICAL CODE
if (!mTracking && !frame.contains((int) x, (int) y)) {
return false;
}
вернуть false, но только когда слайдер открыт, событие было отправлено... Он проверяет, содержится ли (x, y) относительно щелчка в прямоугольнике, созданном, начиная с представления HandleButton выдвижного ящика...
final Rect frame = mFrame;
final View handle = mHandle;
handle.getHitRect(frame);
и это, очевидно, неверно, потому что я нажимаю кнопку, содержащуюся внутри части содержимого выдвижного ящика, и это нормально...
Как я уже сказал выше, проблема в том, что в полусвернутом состоянии кнопки, содержащиеся в части содержимого, не прием события...
Есть ли у вас какие-либо идеи, как я могу решить эту проблему?
Может ли быть какое-то состояние выдвижного ящика, чтобы избежать щелчка дочерних элементов при сворачивании?
Заранее спасибо...