diff options
author | Justin Klaassen <justinklaassen@google.com> | 2015-07-02 00:35:44 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-07-02 00:35:44 +0000 |
commit | bf991fec0a63e285949ac239251b010b313544b6 (patch) | |
tree | 26f7c139b74545a3beafc8c8ba3481b3f361841e | |
parent | 535ce5b824a8b06e0d1abfb7a460fc90a96a78ed (diff) | |
parent | b2c3e4406043da5ae2b90feccec824c38b0d8d3b (diff) | |
download | android_packages_apps_ExactCalculator-bf991fec0a63e285949ac239251b010b313544b6.tar.gz android_packages_apps_ExactCalculator-bf991fec0a63e285949ac239251b010b313544b6.tar.bz2 android_packages_apps_ExactCalculator-bf991fec0a63e285949ac239251b010b313544b6.zip |
am b2c3e440: Always use "H" for formula text alignment
* commit 'b2c3e4406043da5ae2b90feccec824c38b0d8d3b':
Always use "H" for formula text alignment
-rw-r--r-- | src/com/android/calculator2/AlignedTextView.java | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/src/com/android/calculator2/AlignedTextView.java b/src/com/android/calculator2/AlignedTextView.java index 1c4b78f..91ad0dd 100644 --- a/src/com/android/calculator2/AlignedTextView.java +++ b/src/com/android/calculator2/AlignedTextView.java @@ -19,21 +19,15 @@ package com.android.calculator2; import android.content.Context; import android.graphics.Paint; import android.graphics.Rect; -import android.text.TextUtils; import android.util.AttributeSet; import android.widget.TextView; -import java.nio.charset.Charset; -import java.nio.charset.CharsetEncoder; - /** * Extended {@link TextView} that supports ascent/baseline alignment. */ public class AlignedTextView extends TextView { private static final String LATIN_CAPITAL_LETTER = "H"; - private static final CharsetEncoder LATIN_CHARSET_ENCODER = - Charset.forName("ISO-8859-1").newEncoder(); // temporary rect for use during layout private final Rect mTempRect = new Rect(); @@ -58,18 +52,14 @@ public class AlignedTextView extends TextView { @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - CharSequence text = getText(); - if (TextUtils.isEmpty(text) || LATIN_CHARSET_ENCODER.canEncode(text)) { - // For latin text align to the default capital letter height. - text = LATIN_CAPITAL_LETTER; - } - getPaint().getTextBounds(text.toString(), 0, text.length(), mTempRect); - - final Paint textPaint = getPaint(); + final Paint paint = getPaint(); + + // Always align text to the default capital letter height. + paint.getTextBounds(LATIN_CAPITAL_LETTER, 0, 1, mTempRect); + mTopPaddingOffset = Math.min(getPaddingTop(), - (int) Math.floor(mTempRect.top - textPaint.ascent())); - mBottomPaddingOffset = Math.min(getPaddingBottom(), - (int) Math.floor(textPaint.descent())); + (int) Math.ceil(mTempRect.top - paint.ascent())); + mBottomPaddingOffset = Math.min(getPaddingBottom(), (int) Math.ceil(paint.descent())); super.onMeasure(widthMeasureSpec, heightMeasureSpec); } |