am e1f091c5: Add keyboardLetfPadding and keyboardRightPadding attributes
# Via Tadashi G. Takaoka * commit 'e1f091c5d44981ec81c12b674aefa37fec2af5cb': Add keyboardLetfPadding and keyboardRightPadding attributesmain
commit
4250297c6c
|
@ -173,11 +173,11 @@
|
||||||
<attr name="themeId" format="integer" />
|
<attr name="themeId" format="integer" />
|
||||||
<!-- Touch position correction -->
|
<!-- Touch position correction -->
|
||||||
<attr name="touchPositionCorrectionData" format="reference" />
|
<attr name="touchPositionCorrectionData" format="reference" />
|
||||||
<!-- Keyboard top, bottom edges paddings, in propotion of keyboard height. -->
|
<!-- Keyboard top, bottom, left, right edges paddings, in propotion of keyboard height. -->
|
||||||
<attr name="keyboardTopPadding" format="fraction" />
|
<attr name="keyboardTopPadding" format="fraction" />
|
||||||
<attr name="keyboardBottomPadding" format="fraction" />
|
<attr name="keyboardBottomPadding" format="fraction" />
|
||||||
<!-- Keyboard both horizontal edges paddings, in propotion of keyboard width. -->
|
<attr name="keyboardLeftPadding" format="fraction" />
|
||||||
<attr name="keyboardHorizontalEdgesPadding" format="fraction" />
|
<attr name="keyboardRightPadding" format="fraction" />
|
||||||
<!-- Default height of a row (key height + vertical gap), in pixels or in the proportion of
|
<!-- Default height of a row (key height + vertical gap), in pixels or in the proportion of
|
||||||
keyboard height. -->
|
keyboard height. -->
|
||||||
<attr name="rowHeight" format="dimension|fraction" />
|
<attr name="rowHeight" format="dimension|fraction" />
|
||||||
|
|
|
@ -31,7 +31,8 @@
|
||||||
|
|
||||||
<fraction name="keyboard_top_padding">1.556%p</fraction>
|
<fraction name="keyboard_top_padding">1.556%p</fraction>
|
||||||
<fraction name="keyboard_bottom_padding">4.669%p</fraction>
|
<fraction name="keyboard_bottom_padding">4.669%p</fraction>
|
||||||
<fraction name="keyboard_horizontal_edges_padding">0%p</fraction>
|
<fraction name="keyboard_left_padding">0%p</fraction>
|
||||||
|
<fraction name="keyboard_right_padding">0%p</fraction>
|
||||||
<fraction name="key_bottom_gap">6.250%p</fraction>
|
<fraction name="key_bottom_gap">6.250%p</fraction>
|
||||||
<fraction name="key_horizontal_gap">1.352%p</fraction>
|
<fraction name="key_horizontal_gap">1.352%p</fraction>
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,8 @@
|
||||||
<item name="moreKeysTemplate">@xml/kbd_more_keys_keyboard_template</item>
|
<item name="moreKeysTemplate">@xml/kbd_more_keys_keyboard_template</item>
|
||||||
<item name="keyboardTopPadding">@fraction/keyboard_top_padding</item>
|
<item name="keyboardTopPadding">@fraction/keyboard_top_padding</item>
|
||||||
<item name="keyboardBottomPadding">@fraction/keyboard_bottom_padding</item>
|
<item name="keyboardBottomPadding">@fraction/keyboard_bottom_padding</item>
|
||||||
<item name="keyboardHorizontalEdgesPadding">@fraction/keyboard_horizontal_edges_padding</item>
|
<item name="keyboardLeftPadding">@fraction/keyboard_left_padding</item>
|
||||||
|
<item name="keyboardRightPadding">@fraction/keyboard_right_padding</item>
|
||||||
<item name="horizontalGap">@fraction/key_horizontal_gap</item>
|
<item name="horizontalGap">@fraction/key_horizontal_gap</item>
|
||||||
<item name="verticalGap">@fraction/key_bottom_gap</item>
|
<item name="verticalGap">@fraction/key_bottom_gap</item>
|
||||||
<item name="maxMoreKeysColumn">@integer/config_max_more_keys_column</item>
|
<item name="maxMoreKeysColumn">@integer/config_max_more_keys_column</item>
|
||||||
|
|
|
@ -20,7 +20,8 @@
|
||||||
|
|
||||||
<Keyboard
|
<Keyboard
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
||||||
latin:keyboardHorizontalEdgesPadding="10%p"
|
latin:keyboardLeftPadding="10%p"
|
||||||
|
latin:keyboardRightPadding="10%p"
|
||||||
latin:keyWidth="26.67%p"
|
latin:keyWidth="26.67%p"
|
||||||
latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
|
latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
|
||||||
>
|
>
|
||||||
|
|
|
@ -20,7 +20,8 @@
|
||||||
|
|
||||||
<Keyboard
|
<Keyboard
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
||||||
latin:keyboardHorizontalEdgesPadding="10%p"
|
latin:keyboardLeftPadding="10%p"
|
||||||
|
latin:keyboardRightPadding="10%p"
|
||||||
latin:keyWidth="26.67%p"
|
latin:keyWidth="26.67%p"
|
||||||
latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
|
latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
|
||||||
>
|
>
|
||||||
|
|
|
@ -20,7 +20,8 @@
|
||||||
|
|
||||||
<Keyboard
|
<Keyboard
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
||||||
latin:keyboardHorizontalEdgesPadding="10%p"
|
latin:keyboardLeftPadding="10%p"
|
||||||
|
latin:keyboardRightPadding="10%p"
|
||||||
latin:keyWidth="26.67%p"
|
latin:keyWidth="26.67%p"
|
||||||
latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
|
latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
|
||||||
>
|
>
|
||||||
|
|
|
@ -20,7 +20,8 @@
|
||||||
|
|
||||||
<Keyboard
|
<Keyboard
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
||||||
latin:keyboardHorizontalEdgesPadding="10%p"
|
latin:keyboardLeftPadding="10%p"
|
||||||
|
latin:keyboardRightPadding="10%p"
|
||||||
latin:keyWidth="18%p"
|
latin:keyWidth="18%p"
|
||||||
latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
|
latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
|
||||||
>
|
>
|
||||||
|
|
|
@ -20,7 +20,8 @@
|
||||||
|
|
||||||
<Keyboard
|
<Keyboard
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
||||||
latin:keyboardHorizontalEdgesPadding="10%p"
|
latin:keyboardLeftPadding="10%p"
|
||||||
|
latin:keyboardRightPadding="10%p"
|
||||||
latin:keyWidth="18%p"
|
latin:keyWidth="18%p"
|
||||||
latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
|
latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
|
||||||
>
|
>
|
||||||
|
|
|
@ -20,7 +20,8 @@
|
||||||
|
|
||||||
<Keyboard
|
<Keyboard
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
||||||
latin:keyboardHorizontalEdgesPadding="10%p"
|
latin:keyboardLeftPadding="10%p"
|
||||||
|
latin:keyboardRightPadding="10%p"
|
||||||
latin:keyWidth="18%p"
|
latin:keyWidth="18%p"
|
||||||
latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
|
latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
|
||||||
>
|
>
|
||||||
|
|
|
@ -20,7 +20,8 @@
|
||||||
|
|
||||||
<Keyboard
|
<Keyboard
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
||||||
latin:keyboardHorizontalEdgesPadding="10%p"
|
latin:keyboardLeftPadding="10%p"
|
||||||
|
latin:keyboardRightPadding="10%p"
|
||||||
latin:keyWidth="13.250%p"
|
latin:keyWidth="13.250%p"
|
||||||
latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
|
latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
|
||||||
>
|
>
|
||||||
|
|
|
@ -20,7 +20,8 @@
|
||||||
|
|
||||||
<Keyboard
|
<Keyboard
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
||||||
latin:keyboardHorizontalEdgesPadding="10%p"
|
latin:keyboardLeftPadding="10%p"
|
||||||
|
latin:keyboardRightPadding="10%p"
|
||||||
latin:keyWidth="13.250%p"
|
latin:keyWidth="13.250%p"
|
||||||
latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
|
latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
|
||||||
>
|
>
|
||||||
|
|
|
@ -20,7 +20,8 @@
|
||||||
|
|
||||||
<Keyboard
|
<Keyboard
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
||||||
latin:keyboardHorizontalEdgesPadding="10%p"
|
latin:keyboardLeftPadding="10%p"
|
||||||
|
latin:keyboardRightPadding="10%p"
|
||||||
latin:keyWidth="13.250%p"
|
latin:keyWidth="13.250%p"
|
||||||
latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
|
latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
|
||||||
>
|
>
|
||||||
|
|
|
@ -470,11 +470,11 @@ public class Key implements Comparable<Key> {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void markAsLeftEdge(final KeyboardParams params) {
|
public void markAsLeftEdge(final KeyboardParams params) {
|
||||||
mHitBox.left = params.mHorizontalEdgesPadding;
|
mHitBox.left = params.mLeftPadding;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void markAsRightEdge(final KeyboardParams params) {
|
public void markAsRightEdge(final KeyboardParams params) {
|
||||||
mHitBox.right = params.mOccupiedWidth - params.mHorizontalEdgesPadding;
|
mHitBox.right = params.mOccupiedWidth - params.mRightPadding;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void markAsTopEdge(final KeyboardParams params) {
|
public void markAsTopEdge(final KeyboardParams params) {
|
||||||
|
|
|
@ -243,13 +243,13 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
|
||||||
R.styleable.Keyboard_keyboardTopPadding, height, height, 0);
|
R.styleable.Keyboard_keyboardTopPadding, height, height, 0);
|
||||||
params.mBottomPadding = (int)keyboardAttr.getFraction(
|
params.mBottomPadding = (int)keyboardAttr.getFraction(
|
||||||
R.styleable.Keyboard_keyboardBottomPadding, height, height, 0);
|
R.styleable.Keyboard_keyboardBottomPadding, height, height, 0);
|
||||||
// TODO: Split keyboardHorizontalEdgesPadding into two, keyboardLeftPaddings and
|
params.mLeftPadding = (int)keyboardAttr.getFraction(
|
||||||
// keyboardRightPaddings.
|
R.styleable.Keyboard_keyboardLeftPadding, width, width, 0);
|
||||||
params.mHorizontalEdgesPadding = (int)keyboardAttr.getFraction(
|
params.mRightPadding = (int)keyboardAttr.getFraction(
|
||||||
R.styleable.Keyboard_keyboardHorizontalEdgesPadding, width, width, 0);
|
R.styleable.Keyboard_keyboardRightPadding, width, width, 0);
|
||||||
|
|
||||||
final int baseWidth = params.mOccupiedWidth - params.mHorizontalEdgesPadding * 2
|
final int baseWidth =
|
||||||
- params.mHorizontalCenterPadding;
|
params.mOccupiedWidth - params.mLeftPadding - params.mRightPadding;
|
||||||
params.mBaseWidth = baseWidth;
|
params.mBaseWidth = baseWidth;
|
||||||
params.mDefaultKeyWidth = (int)keyAttr.getFraction(R.styleable.Keyboard_Key_keyWidth,
|
params.mDefaultKeyWidth = (int)keyAttr.getFraction(R.styleable.Keyboard_Key_keyWidth,
|
||||||
baseWidth, baseWidth, baseWidth / DEFAULT_KEYBOARD_COLUMNS);
|
baseWidth, baseWidth, baseWidth / DEFAULT_KEYBOARD_COLUMNS);
|
||||||
|
@ -742,7 +742,7 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void startRow(final KeyboardRow row) {
|
private void startRow(final KeyboardRow row) {
|
||||||
addEdgeSpace(mParams.mHorizontalEdgesPadding, row);
|
addEdgeSpace(mParams.mLeftPadding, row);
|
||||||
mCurrentRow = row;
|
mCurrentRow = row;
|
||||||
mLeftEdge = true;
|
mLeftEdge = true;
|
||||||
mRightEdgeKey = null;
|
mRightEdgeKey = null;
|
||||||
|
@ -756,7 +756,7 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
|
||||||
mRightEdgeKey.markAsRightEdge(mParams);
|
mRightEdgeKey.markAsRightEdge(mParams);
|
||||||
mRightEdgeKey = null;
|
mRightEdgeKey = null;
|
||||||
}
|
}
|
||||||
addEdgeSpace(mParams.mHorizontalEdgesPadding, row);
|
addEdgeSpace(mParams.mRightPadding, row);
|
||||||
mCurrentY += row.mRowHeight;
|
mCurrentY += row.mRowHeight;
|
||||||
mCurrentRow = null;
|
mCurrentRow = null;
|
||||||
mTopEdge = false;
|
mTopEdge = false;
|
||||||
|
|
|
@ -42,8 +42,8 @@ public class KeyboardParams {
|
||||||
|
|
||||||
public int mTopPadding;
|
public int mTopPadding;
|
||||||
public int mBottomPadding;
|
public int mBottomPadding;
|
||||||
public int mHorizontalEdgesPadding;
|
public int mLeftPadding;
|
||||||
public int mHorizontalCenterPadding;
|
public int mRightPadding;
|
||||||
|
|
||||||
public KeyVisualAttributes mKeyVisualAttributes;
|
public KeyVisualAttributes mKeyVisualAttributes;
|
||||||
|
|
||||||
|
|
|
@ -111,8 +111,6 @@ public final class KeyboardRow {
|
||||||
}
|
}
|
||||||
|
|
||||||
public float getKeyX(final TypedArray keyAttr) {
|
public float getKeyX(final TypedArray keyAttr) {
|
||||||
final int keyboardRightEdge = mParams.mOccupiedWidth
|
|
||||||
- mParams.mHorizontalEdgesPadding;
|
|
||||||
if (keyAttr.hasValue(R.styleable.Keyboard_Key_keyXPos)) {
|
if (keyAttr.hasValue(R.styleable.Keyboard_Key_keyXPos)) {
|
||||||
final float keyXPos = keyAttr.getFraction(R.styleable.Keyboard_Key_keyXPos,
|
final float keyXPos = keyAttr.getFraction(R.styleable.Keyboard_Key_keyXPos,
|
||||||
mParams.mBaseWidth, mParams.mBaseWidth, 0);
|
mParams.mBaseWidth, mParams.mBaseWidth, 0);
|
||||||
|
@ -122,9 +120,10 @@ public final class KeyboardRow {
|
||||||
// keyXPos shouldn't be less than mCurrentX because drawable area for this
|
// keyXPos shouldn't be less than mCurrentX because drawable area for this
|
||||||
// key starts at mCurrentX. Or, this key will overlaps the adjacent key on
|
// key starts at mCurrentX. Or, this key will overlaps the adjacent key on
|
||||||
// its left hand side.
|
// its left hand side.
|
||||||
|
final int keyboardRightEdge = mParams.mOccupiedWidth - mParams.mRightPadding;
|
||||||
return Math.max(keyXPos + keyboardRightEdge, mCurrentX);
|
return Math.max(keyXPos + keyboardRightEdge, mCurrentX);
|
||||||
} else {
|
} else {
|
||||||
return keyXPos + mParams.mHorizontalEdgesPadding;
|
return keyXPos + mParams.mLeftPadding;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return mCurrentX;
|
return mCurrentX;
|
||||||
|
@ -139,10 +138,9 @@ public final class KeyboardRow {
|
||||||
R.styleable.Keyboard_Key_keyWidth, KEYWIDTH_NOT_ENUM);
|
R.styleable.Keyboard_Key_keyWidth, KEYWIDTH_NOT_ENUM);
|
||||||
switch (widthType) {
|
switch (widthType) {
|
||||||
case KEYWIDTH_FILL_RIGHT:
|
case KEYWIDTH_FILL_RIGHT:
|
||||||
final int keyboardRightEdge =
|
|
||||||
mParams.mOccupiedWidth - mParams.mHorizontalEdgesPadding;
|
|
||||||
// If keyWidth is fillRight, the actual key width will be determined to fill
|
// If keyWidth is fillRight, the actual key width will be determined to fill
|
||||||
// out the area up to the right edge of the keyboard.
|
// out the area up to the right edge of the keyboard.
|
||||||
|
final int keyboardRightEdge = mParams.mOccupiedWidth - mParams.mRightPadding;
|
||||||
return keyboardRightEdge - keyXPos;
|
return keyboardRightEdge - keyXPos;
|
||||||
default: // KEYWIDTH_NOT_ENUM
|
default: // KEYWIDTH_NOT_ENUM
|
||||||
return keyAttr.getFraction(R.styleable.Keyboard_Key_keyWidth,
|
return keyAttr.getFraction(R.styleable.Keyboard_Key_keyWidth,
|
||||||
|
|
Loading…
Reference in New Issue