diff options
| author | Alan Viverette <alanv@google.com> | 2014-06-19 17:09:10 -0700 |
|---|---|---|
| committer | Alan Viverette <alanv@google.com> | 2014-06-19 17:09:10 -0700 |
| commit | 2a37cf8d763750853e2b4e036bc7cb4486c78e1d (patch) | |
| tree | f435bf8a848ec17f4cf58298ea7b828f6907a2f4 /core/java/android/widget/Switch.java | |
| parent | 8bf102b1d2f044d8430c50be23776eab2e2e1c08 (diff) | |
Don't show text in Material-styled switch
BUG: 15754341
Change-Id: Iae43b31c6e445207a0c95b48d0f0befac0f5cc78
Diffstat (limited to 'core/java/android/widget/Switch.java')
| -rw-r--r-- | core/java/android/widget/Switch.java | 42 |
1 files changed, 34 insertions, 8 deletions
diff --git a/core/java/android/widget/Switch.java b/core/java/android/widget/Switch.java index cca29cf39db8..5b8e8549fd4d 100644 --- a/core/java/android/widget/Switch.java +++ b/core/java/android/widget/Switch.java @@ -90,6 +90,7 @@ public class Switch extends CompoundButton { private boolean mSplitTrack; private CharSequence mTextOn; private CharSequence mTextOff; + private boolean mShowText; private int mTouchMode; private int mTouchSlop; @@ -188,6 +189,7 @@ public class Switch extends CompoundButton { mTrackDrawable = a.getDrawable(com.android.internal.R.styleable.Switch_track); mTextOn = a.getText(com.android.internal.R.styleable.Switch_textOn); mTextOff = a.getText(com.android.internal.R.styleable.Switch_textOff); + mShowText = a.getBoolean(com.android.internal.R.styleable.Switch_showText, true); mThumbTextPadding = a.getDimensionPixelSize( com.android.internal.R.styleable.Switch_thumbTextPadding, 0); mSwitchMinWidth = a.getDimensionPixelSize( @@ -533,14 +535,37 @@ public class Switch extends CompoundButton { requestLayout(); } + /** + * Sets whether the on/off text should be displayed. + * + * @param showText {@code true} to display on/off text + * @hide + */ + public void setShowText(boolean showText) { + if (mShowText != showText) { + mShowText = showText; + requestLayout(); + } + } + + /** + * @return whether the on/off text should be displayed + * @hide + */ + public boolean getShowText() { + return mShowText; + } + @Override public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - if (mOnLayout == null) { - mOnLayout = makeLayout(mTextOn); - } + if (mShowText) { + if (mOnLayout == null) { + mOnLayout = makeLayout(mTextOn); + } - if (mOffLayout == null) { - mOffLayout = makeLayout(mTextOff); + if (mOffLayout == null) { + mOffLayout = makeLayout(mTextOff); + } } mTrackDrawable.getPadding(mTempRect); @@ -568,9 +593,10 @@ public class Switch extends CompoundButton { @Override public void onPopulateAccessibilityEvent(AccessibilityEvent event) { super.onPopulateAccessibilityEvent(event); - Layout layout = isChecked() ? mOnLayout : mOffLayout; - if (layout != null && !TextUtils.isEmpty(layout.getText())) { - event.getText().add(layout.getText()); + + final CharSequence text = isChecked() ? mTextOn : mTextOff; + if (text != null) { + event.getText().add(text); } } |
