Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3b71e5fa authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka Committed by Android (Google) Code Review
Browse files

Merge "Add keyLetterSize and keyLabelSize as KeyboardView attribute"

parents 2315bfc7 83da6c18
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -38,11 +38,16 @@
             checkable+checked+pressed. -->
        <attr name="keyBackground" format="reference" />

        <!-- Size of the text for one letter keys. If not defined, keyLetterRatio takes effect. -->
        <attr name="keyLetterSize" format="float" />
        <!-- Size of the text for keys with multiple letters. If not defined, keyLabelRatio takes
             effect. -->
        <attr name="keyLabelSize" format="float" />
        <!-- Size of the text for one letter keys, in the proportion of key height. -->
        <attr name="keyLetterRatio" format="float" />
        <!-- Large size of the text for one letter keys, in the proportion of key height. -->
        <attr name="keyLargeLetterRatio" format="float" />
        <!-- Size of the text for keys with some text, in the proportion of key height. -->
        <!-- Size of the text for keys with multiple letters, in the proportion of key height. -->
        <attr name="keyLabelRatio" format="float" />
        <!-- Size of the text for hint letter (= one character hint label), in the proportion of
             key height. -->
+19 −4
Original line number Diff line number Diff line
@@ -211,6 +211,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
        private final float mKeyHintLetterRatio;
        private final float mKeyUppercaseLetterRatio;
        private final float mKeyHintLabelRatio;
        private static final float UNDEFINED_RATIO = -1.0f;

        public final Rect mPadding = new Rect();
        public int mKeyLetterSize;
@@ -222,9 +223,21 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {

        public KeyDrawParams(TypedArray a) {
            mKeyBackground = a.getDrawable(R.styleable.KeyboardView_keyBackground);
            if (a.hasValue(R.styleable.KeyboardView_keyLabelSize)) {
                mKeyLetterRatio = UNDEFINED_RATIO;
                mKeyLetterSize = a.getDimensionPixelSize(
                        R.styleable.KeyboardView_keyLetterRatio, 0);
            } else {
                mKeyLetterRatio = getRatio(a, R.styleable.KeyboardView_keyLetterRatio);
            }
            mKeyLargeLetterRatio = getRatio(a, R.styleable.KeyboardView_keyLargeLetterRatio);
            if (a.hasValue(R.styleable.KeyboardView_keyLabelSize)) {
                mKeyLabelRatio = UNDEFINED_RATIO;
                mKeyLabelSize = a.getDimensionPixelSize(
                        R.styleable.KeyboardView_keyLabelRatio, 0);
            } else {
                mKeyLabelRatio = getRatio(a, R.styleable.KeyboardView_keyLabelRatio);
            }
            mKeyHintLetterRatio = getRatio(a, R.styleable.KeyboardView_keyHintLetterRatio);
            mKeyUppercaseLetterRatio = getRatio(a,
                    R.styleable.KeyboardView_keyUppercaseLetterRatio);
@@ -253,8 +266,10 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
        }

        public void updateKeyHeight(int keyHeight) {
            if (mKeyLetterRatio >= 0.0f)
                mKeyLetterSize = (int)(keyHeight * mKeyLetterRatio);
            mKeyLargeLetterSize = (int)(keyHeight * mKeyLargeLetterRatio);
            if (mKeyLabelRatio >= 0.0f)
                mKeyLabelSize = (int)(keyHeight * mKeyLabelRatio);
            mKeyHintLetterSize = (int)(keyHeight * mKeyHintLetterRatio);
            mKeyUppercaseLetterSize = (int)(keyHeight * mKeyUppercaseLetterRatio);