diff options
Diffstat (limited to 'core/java/android/widget/CheckedTextView.java')
| -rw-r--r-- | core/java/android/widget/CheckedTextView.java | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/core/java/android/widget/CheckedTextView.java b/core/java/android/widget/CheckedTextView.java index f91201a6973d..bc78adc3d68d 100644 --- a/core/java/android/widget/CheckedTextView.java +++ b/core/java/android/widget/CheckedTextView.java @@ -175,11 +175,7 @@ public class CheckedTextView extends TextView implements Checkable { @Override protected void internalSetPadding(int left, int top, int right, int bottom) { super.internalSetPadding(left, top, right, bottom); - if (isLayoutRtl()) { - mBasePadding = mUserPaddingLeft; - } else { - mBasePadding = mUserPaddingRight; - } + setBasePadding(isLayoutRtl()); } @Override @@ -201,13 +197,21 @@ public class CheckedTextView extends TextView implements Checkable { @Override public void setPadding(int left, int top, int right, int bottom) { super.setPadding(left, top, right, bottom); - mBasePadding = getPaddingEnd(); + setBasePadding(isLayoutRtl()); } @Override public void setPaddingRelative(int start, int top, int end, int bottom) { super.setPaddingRelative(start, top, end, bottom); - mBasePadding = getPaddingEnd(); + setBasePadding(isLayoutRtl()); + } + + private void setBasePadding(boolean isLayoutRtl) { + if (isLayoutRtl) { + mBasePadding = mPaddingLeft; + } else { + mBasePadding = mPaddingRight; + } } @Override @@ -237,11 +241,11 @@ public class CheckedTextView extends TextView implements Checkable { final int left; final int right; if (isLayoutRtl) { - right = getPaddingEnd(); - left = right - mCheckMarkWidth; - } else { - left = width - getPaddingEnd(); + left = mBasePadding; right = left + mCheckMarkWidth; + } else { + right = width - mBasePadding; + left = right - mCheckMarkWidth; } checkMarkDrawable.setBounds( left, top, right, bottom); checkMarkDrawable.draw(canvas); |
