@Override protected void onLayout(boolean changed, int l, int t, int r, int b) { int centerDiffX = mMarker.getMeasuredWidth() / 2; int offset = (mOffset - centerDiffX); mMarker.layout(offset, 0, offset + mMarker.getMeasuredWidth(), mMarker.getMeasuredHeight()); }