diff options
| author | Fabrice Di Meglio <fdimeglio@google.com> | 2012-09-28 15:49:38 -0700 |
|---|---|---|
| committer | Fabrice Di Meglio <fdimeglio@google.com> | 2012-09-28 15:49:38 -0700 |
| commit | 15bbde41dafd592b8d45a7ee6003c1f0b439cb68 (patch) | |
| tree | 8bf96ab7d19e4d7a7677b7a21d381078d60232e4 /core/java/android/widget/CheckedTextView.java | |
| parent | c552081c4598bbbc796fd3e87db324256092b500 (diff) | |
Fix bug #7199562 UI mirroring for RTL locales (Arabic, Hebrew, Farsi): Play settings
- fix padding issue. Need to update padding if layout direction change
Change-Id: I2924c1b94c7ef054dd9bd670de4c5c206f52e412
Diffstat (limited to 'core/java/android/widget/CheckedTextView.java')
| -rw-r--r-- | core/java/android/widget/CheckedTextView.java | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/core/java/android/widget/CheckedTextView.java b/core/java/android/widget/CheckedTextView.java index bc78adc3d68d..cea1fd51136d 100644 --- a/core/java/android/widget/CheckedTextView.java +++ b/core/java/android/widget/CheckedTextView.java @@ -46,6 +46,9 @@ public class CheckedTextView extends TextView implements Checkable { private int mCheckMarkWidth; private boolean mNeedRequestlayout; + private int initialPaddingLeft = -1; + private int initialPaddingRight = -1; + private static final int[] CHECKED_STATE_SET = { R.attr.state_checked }; @@ -176,10 +179,22 @@ public class CheckedTextView extends TextView implements Checkable { protected void internalSetPadding(int left, int top, int right, int bottom) { super.internalSetPadding(left, top, right, bottom); setBasePadding(isLayoutRtl()); + initialPaddingLeft = mPaddingLeft; + initialPaddingRight = mPaddingRight; } @Override public void onPaddingChanged(int layoutDirection) { + updatePadding(); + } + + @Override + public void onRtlPropertiesChanged() { + super.onRtlPropertiesChanged(); + updatePadding(); + } + + private void updatePadding() { int newPadding = (mCheckMarkDrawable != null) ? mCheckMarkWidth + mBasePadding : mBasePadding; mNeedRequestlayout |= (mPaddingRight != newPadding); @@ -193,7 +208,7 @@ public class CheckedTextView extends TextView implements Checkable { mNeedRequestlayout = false; } } - + @Override public void setPadding(int left, int top, int right, int bottom) { super.setPadding(left, top, right, bottom); |
