diff options
| author | 2018-08-30 17:30:07 -0700 | |
|---|---|---|
| committer | 2018-08-31 12:09:44 -0700 | |
| commit | d62697075db827f95c193367851a5c1be9b86d8d (patch) | |
| tree | 56472f466879f4085813ddf894b27738860dd88a | |
| parent | 6243c05ba2ee71a7f345711f91555bdbe8ad4436 (diff) | |
Add fontVariationSettings to TextView and TextAppearance in XML
Bug: 73235218
Test: atest TextViewFontVariationTest
Change-Id: Ic284846919b1c58dc696a140b59b3244491c774e
| -rw-r--r-- | core/java/android/widget/TextView.java | 11 | ||||
| -rw-r--r-- | core/res/res/values/attrs.xml | 4 |
2 files changed, 15 insertions, 0 deletions
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 31b1d9924e05..1b412a7e1e43 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -3528,6 +3528,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener boolean mHasLetterSpacing = false; float mLetterSpacing = 0; String mFontFeatureSettings = null; + String mFontVariationSettings = null; @Override public String toString() { @@ -3555,6 +3556,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener + " mHasLetterSpacing:" + mHasLetterSpacing + "\n" + " mLetterSpacing:" + mLetterSpacing + "\n" + " mFontFeatureSettings:" + mFontFeatureSettings + "\n" + + " mFontVariationSettings:" + mFontVariationSettings + "\n" + "}"; } } @@ -3598,6 +3600,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener com.android.internal.R.styleable.TextAppearance_letterSpacing); sAppearanceValues.put(com.android.internal.R.styleable.TextView_fontFeatureSettings, com.android.internal.R.styleable.TextAppearance_fontFeatureSettings); + sAppearanceValues.put(com.android.internal.R.styleable.TextView_fontVariationSettings, + com.android.internal.R.styleable.TextAppearance_fontVariationSettings); } /** @@ -3700,6 +3704,9 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener case com.android.internal.R.styleable.TextAppearance_fontFeatureSettings: attributes.mFontFeatureSettings = appearance.getString(attr); break; + case com.android.internal.R.styleable.TextAppearance_fontVariationSettings: + attributes.mFontVariationSettings = appearance.getString(attr); + break; default: } } @@ -3756,6 +3763,10 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener if (attributes.mFontFeatureSettings != null) { setFontFeatureSettings(attributes.mFontFeatureSettings); } + + if (attributes.mFontVariationSettings != null) { + setFontVariationSettings(attributes.mFontVariationSettings); + } } /** diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml index 64a9e6dc6a85..3fed8a3a80d3 100644 --- a/core/res/res/values/attrs.xml +++ b/core/res/res/values/attrs.xml @@ -4574,6 +4574,8 @@ <attr name="letterSpacing" format="float" /> <!-- Font feature settings. --> <attr name="fontFeatureSettings" format="string" /> + <!-- Font variation settings. --> + <attr name="fontVariationSettings" format="string"/> </declare-styleable> <declare-styleable name="TextClock"> <!-- Specifies the formatting pattern used to show the time and/or date @@ -4922,6 +4924,8 @@ <attr name="letterSpacing" /> <!-- Font feature settings. --> <attr name="fontFeatureSettings" /> + <!-- Font variation settings. --> + <attr name="fontVariationSettings" /> <!-- Break strategy (control over paragraph layout). --> <attr name="breakStrategy"> <!-- Line breaking uses simple strategy. --> |