Merge "fix clickable area of FAB on pre-Lollipop devices"

GitOrigin-RevId=d5d3213d80be767482a89bea6d073006582e2bcc

PiperOrigin-RevId: 140559951
This commit is contained in:
Chris Banes 2016-11-30 03:51:47 +00:00 committed by Travis Collins
parent 4c209943d2
commit 19311ec2d4

View File

@ -32,6 +32,7 @@ import android.support.design.widget.FloatingActionButtonImpl.InternalVisibility
import android.support.v4.view.ViewCompat;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ImageView;
@ -91,6 +92,7 @@ public class FloatingActionButton extends VisibilityAwareImageButton {
private int mRippleColor;
private int mSize;
private int mImagePadding;
private Rect mTouchArea;
private boolean mCompatPadding;
private final Rect mShadowPadding;
@ -111,6 +113,7 @@ public class FloatingActionButton extends VisibilityAwareImageButton {
ThemeUtils.checkAppCompatTheme(context);
mShadowPadding = new Rect();
mTouchArea = new Rect();
TypedArray a = context.obtainStyledAttributes(attrs,
R.styleable.FloatingActionButton, defStyleAttr,
@ -469,6 +472,15 @@ public class FloatingActionButton extends VisibilityAwareImageButton {
}
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
if(getContentRect(mTouchArea) && !mTouchArea.contains((int) ev.getX(), (int) ev.getY())) {
return false;
}
return super.onTouchEvent(ev);
}
/**
* Behavior designed for use with {@link FloatingActionButton} instances. Its main function
* is to move {@link FloatingActionButton} views so that any displayed {@link Snackbar}s do