From dcb11102f6114721cf5a9dfdcdf1eaaec594b097 Mon Sep 17 00:00:00 2001 From: bfkro Date: Wed, 21 Mar 2018 19:02:51 +0800 Subject: [PATCH] use ViewUtils to calculate offset between SeekBar and SeekBarPanel --- .../main/java/com/hippo/ehviewer/widget/SeekBarPanel.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/widget/SeekBarPanel.java b/app/src/main/java/com/hippo/ehviewer/widget/SeekBarPanel.java index a350b7163..dcaf4dada 100644 --- a/app/src/main/java/com/hippo/ehviewer/widget/SeekBarPanel.java +++ b/app/src/main/java/com/hippo/ehviewer/widget/SeekBarPanel.java @@ -21,7 +21,6 @@ import android.graphics.Rect; import android.support.annotation.NonNull; import android.util.AttributeSet; import android.view.MotionEvent; -import android.view.View; import android.widget.LinearLayout; import android.widget.SeekBar; @@ -55,9 +54,10 @@ public class SeekBarPanel extends LinearLayout { if (mSeekBar == null) { return super.onTouchEvent(event); } else { - View containingView = (View) mSeekBar.getParent(); - final float offsetX = -(containingView.getLeft() + mSeekBar.getLeft()); - final float offsetY = -(containingView.getTop() + mSeekBar.getTop()); + int[] location = new int[2]; + ViewUtils.getLocationInAncestor(mSeekBar, location, this); + final float offsetX = -location[0]; + final float offsetY = -location[1]; event.offsetLocation(offsetX, offsetY); mSeekBar.onTouchEvent(event); event.offsetLocation(-offsetX, -offsetY);