public void setFloatOffset(int x) { mOffset = x; int centerDiffX = mMarker.getMeasuredWidth() / 2; int offset = (x - centerDiffX); mMarker.offsetLeftAndRight(offset - mMarker.getLeft()); // Without hardware acceleration (or API levels<11), offsetting a view seems to NOT invalidate // the proper area. // We should calc the proper invalidate Rect but this will be for now... if (!SeekBarCompat.isHardwareAccelerated(this)) { invalidate(); } }