package com.dwdesign.tweetings.view; import android.content.Context; import android.util.AttributeSet; import android.view.MotionEvent; import android.widget.FrameLayout; public class ExtendedFrameLayout extends FrameLayout { private TouchInterceptor mTouchInterceptor; private OnSizeChangedListener mOnSizeChangedListener; public ExtendedFrameLayout(final Context context) { super(context); } public ExtendedFrameLayout(final Context context, final AttributeSet attrs) { super(context, attrs); } public ExtendedFrameLayout(final Context context, final AttributeSet attrs, final int defStyle) { super(context, attrs, defStyle); } @Override public boolean onInterceptTouchEvent(final MotionEvent event) { if (mTouchInterceptor != null) { mTouchInterceptor.onInterceptTouchEvent(event); } return super.onInterceptTouchEvent(event); } @Override public boolean onTouchEvent(final MotionEvent event) { if (mTouchInterceptor != null) { mTouchInterceptor.onInterceptTouchEvent(event); } return super.onTouchEvent(event); } public void setOnSizeChangedListener(final OnSizeChangedListener listener) { mOnSizeChangedListener = listener; } public void setTouchInterceptor(final TouchInterceptor listener) { mTouchInterceptor = listener; } @Override protected void onSizeChanged(final int w, final int h, final int oldw, final int oldh) { super.onSizeChanged(w, h, oldw, oldh); if (mOnSizeChangedListener != null) { mOnSizeChangedListener.onSizeChanged(this, w, h, oldw, oldh); } } public interface OnSizeChangedListener { void onSizeChanged(final FrameLayout view, final int w, final int h, final int oldw, final int oldh); } public interface TouchInterceptor { void onInterceptTouchEvent(MotionEvent event); } }