package com.ved.musicmapapp.views;
import android.content.Context;
import android.graphics.Rect;
import android.support.v4.widget.SlidingPaneLayout;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import com.ved.musicmapapp.R;
public class MySlidingPaneLayout extends SlidingPaneLayout {
private int menuWidth;
private boolean isChildMove = true;
private boolean isSlidingEnable = true;
public MySlidingPaneLayout(Context context, AttributeSet attrs) {
super(context, attrs);
menuWidth = (int) (52 * context.getResources().getDisplayMetrics().density);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
View scroll = findViewById(R.id.frame_content);
if (!isSlidingEnable) {
return false;
}
if (!isOpen() && scroll != null && isChildMove) {
Rect rect = new Rect();
scroll.getHitRect(rect);
rect.set(rect.left + menuWidth, rect.top, rect.right, rect.bottom);
if (rect.contains((int) event.getX(), (int) event.getY())) {
return false;
}
}
try {
return super.onInterceptTouchEvent(event);
} catch (Exception e) {
return false;
}
}
public boolean isChildMove() {
return isChildMove;
}
public void setChildMove(boolean isChildMove) {
this.isChildMove = isChildMove;
}
public boolean isSlidingEnable() {
return isSlidingEnable;
}
public void setSlidingEnable(boolean enable) {
isSlidingEnable = enable;
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
if (!isSlidingEnable) {
View scroll = findViewById(R.id.frame_content);
if (scroll != null) {
scroll.dispatchTouchEvent(ev);
return true;
}
}
return super.onTouchEvent(ev);
}
}