Merge "Add horizontal edges paddings to phone/number layout"
This commit is contained in:
commit
049e49fb85
19 changed files with 505 additions and 316 deletions
|
@ -25,7 +25,6 @@
|
|||
<!-- key_height + key_bottom_gap = popup_key_height -->
|
||||
<!-- <dimen name="key_height">0.260in</dimen>-->
|
||||
<dimen name="popup_key_height">0.280in</dimen>
|
||||
<dimen name="keyboard_horizontal_edges_padding">0.0in</dimen>
|
||||
|
||||
<fraction name="keyboard_top_padding">1.818%p</fraction>
|
||||
<fraction name="keyboard_bottom_padding">0.0%p</fraction>
|
||||
|
|
|
@ -23,7 +23,6 @@
|
|||
<dimen name="keyboardHeight">45.0mm</dimen>
|
||||
<fraction name="minKeyboardHeight">45%p</fraction>
|
||||
|
||||
<dimen name="keyboard_horizontal_edges_padding">0dp</dimen>
|
||||
<fraction name="keyboard_top_padding">2.444%p</fraction>
|
||||
<fraction name="keyboard_bottom_padding">0.0%p</fraction>
|
||||
<fraction name="key_bottom_gap">4.911%p</fraction>
|
||||
|
|
|
@ -26,7 +26,6 @@
|
|||
|
||||
<dimen name="popup_key_height">10.0mm</dimen>
|
||||
|
||||
<dimen name="keyboard_horizontal_edges_padding">0.0mm</dimen>
|
||||
<fraction name="keyboard_top_padding">2.291%p</fraction>
|
||||
<fraction name="keyboard_bottom_padding">0.0%p</fraction>
|
||||
<fraction name="key_bottom_gap">3.750%p</fraction>
|
||||
|
|
|
@ -23,7 +23,6 @@
|
|||
<dimen name="keyboardHeight">58.0mm</dimen>
|
||||
<fraction name="minKeyboardHeight">45%p</fraction>
|
||||
|
||||
<dimen name="keyboard_horizontal_edges_padding">0.0mm</dimen>
|
||||
<fraction name="keyboard_top_padding">1.896%p</fraction>
|
||||
<fraction name="keyboard_bottom_padding">0.0%p</fraction>
|
||||
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
<fraction name="maxKeyboardHeight">50%p</fraction>
|
||||
<fraction name="minKeyboardHeight">-35.0%p</fraction>
|
||||
|
||||
<dimen name="keyboard_horizontal_edges_padding">0.0mm</dimen>
|
||||
<fraction name="keyboard_top_padding">2.291%p</fraction>
|
||||
<fraction name="keyboard_bottom_padding">0.0%p</fraction>
|
||||
|
||||
|
|
|
@ -144,19 +144,10 @@
|
|||
<!-- Minimum keyboard height represented in pixels, percentage of display height if fraction
|
||||
is positive, or percentage of display width if fraction is negative. -->
|
||||
<attr name="minKeyboardHeight" format="dimension|fraction" />
|
||||
<!-- Keyboard top and bottom paddings. -->
|
||||
<!-- Keyboard top, bottom, both horizontal edges paddings. -->
|
||||
<attr name="keyboardTopPadding" format="dimension|fraction" />
|
||||
<attr name="keyboardBottomPadding" format="dimension|fraction" />
|
||||
<!-- Default width of a key, in pixels or percentage of display width.
|
||||
If the value is zero, the actual key width will be determined to fill out the area up
|
||||
to the right edge of the keyboard.
|
||||
If the value is negative, the actual key width will be determined to fill out the
|
||||
area between the nearest key on the left hand side and the right edge of the keyboard.
|
||||
-->
|
||||
<attr name="keyWidth" format="dimension|fraction|enum">
|
||||
<enum name="fillRight" value="-1" />
|
||||
<enum name="fillBoth" value="-2" />
|
||||
</attr>
|
||||
<attr name="keyboardHorizontalEdgesPadding" format="dimension|fraction" />
|
||||
<!-- Default height of a row (key height + vertical gap), in pixels or percentage of
|
||||
keyboard height. -->
|
||||
<attr name="rowHeight" format="dimension|fraction" />
|
||||
|
@ -258,6 +249,17 @@
|
|||
<!-- Visual insets -->
|
||||
<attr name="visualInsetsLeft" format="dimension|fraction" />
|
||||
<attr name="visualInsetsRight" format="dimension|fraction" />
|
||||
<!-- Width of the key, in pixels or percentage of display width.
|
||||
If the value is fillRight, the actual key width will be determined to fill out the area
|
||||
up to the right edge of the keyboard.
|
||||
If the value is fillBoth, the actual key width will be determined to fill out the
|
||||
area between the nearest key on the left hand side and the right edge of the keyboard.
|
||||
-->
|
||||
<!-- This should be aligned with KeyboardBuilder.Row.KEYWIDTH_* -->
|
||||
<attr name="keyWidth" format="dimension|fraction|enum">
|
||||
<enum name="fillRight" value="-1" />
|
||||
<enum name="fillBoth" value="-2" />
|
||||
</attr>
|
||||
<!-- The X-coordinate of upper right corner of this key including horizontal gap.
|
||||
If the value is negative, the origin is the right edge of the keyboard. -->
|
||||
<attr name="keyXPos" format="dimension|fraction" />
|
||||
|
|
|
@ -29,9 +29,9 @@
|
|||
<dimen name="mini_keyboard_horizontal_edges_padding">16dip</dimen>
|
||||
<dimen name="mini_keyboard_key_horizontal_padding">8dip</dimen>
|
||||
|
||||
<dimen name="keyboard_horizontal_edges_padding">0dp</dimen>
|
||||
<fraction name="keyboard_top_padding">1.556%p</fraction>
|
||||
<fraction name="keyboard_bottom_padding">4.669%p</fraction>
|
||||
<fraction name="keyboard_horizontal_edges_padding">0%p</fraction>
|
||||
<fraction name="key_bottom_gap">6.250%p</fraction>
|
||||
<fraction name="key_horizontal_gap">1.352%p</fraction>
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
<item name="moreKeysTemplate">@xml/kbd_mini_keyboard_template</item>
|
||||
<item name="keyboardTopPadding">@fraction/keyboard_top_padding</item>
|
||||
<item name="keyboardBottomPadding">@fraction/keyboard_bottom_padding</item>
|
||||
<item name="keyboardHorizontalEdgesPadding">@fraction/keyboard_horizontal_edges_padding</item>
|
||||
<item name="horizontalGap">@fraction/key_horizontal_gap</item>
|
||||
<item name="verticalGap">@fraction/key_bottom_gap</item>
|
||||
<item name="maxMoreKeysColumn">@integer/config_max_more_keys_column</item>
|
||||
|
|
28
java/res/xml-land/kbd_number.xml
Normal file
28
java/res/xml-land/kbd_number.xml
Normal file
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/*
|
||||
**
|
||||
** Copyright 2011, The Android Open Source Project
|
||||
**
|
||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||
** you may not use this file except in compliance with the License.
|
||||
** You may obtain a copy of the License at
|
||||
**
|
||||
** http://www.apache.org/licenses/LICENSE-2.0
|
||||
**
|
||||
** Unless required by applicable law or agreed to in writing, software
|
||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
** See the License for the specific language governing permissions and
|
||||
** limitations under the License.
|
||||
*/
|
||||
-->
|
||||
|
||||
<Keyboard
|
||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
||||
latin:keyboardHorizontalEdgesPadding="10%p"
|
||||
latin:keyWidth="26.67%p"
|
||||
>
|
||||
<include
|
||||
latin:keyboardLayout="@xml/kbd_rows_number" />
|
||||
</Keyboard>
|
28
java/res/xml-land/kbd_phone.xml
Normal file
28
java/res/xml-land/kbd_phone.xml
Normal file
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/*
|
||||
**
|
||||
** Copyright 2011, The Android Open Source Project
|
||||
**
|
||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||
** you may not use this file except in compliance with the License.
|
||||
** You may obtain a copy of the License at
|
||||
**
|
||||
** http://www.apache.org/licenses/LICENSE-2.0
|
||||
**
|
||||
** Unless required by applicable law or agreed to in writing, software
|
||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
** See the License for the specific language governing permissions and
|
||||
** limitations under the License.
|
||||
*/
|
||||
-->
|
||||
|
||||
<Keyboard
|
||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
||||
latin:keyboardHorizontalEdgesPadding="10%p"
|
||||
latin:keyWidth="26.67%p"
|
||||
>
|
||||
<include
|
||||
latin:keyboardLayout="@xml/kbd_rows_phone" />
|
||||
</Keyboard>
|
28
java/res/xml-land/kbd_phone_shift.xml
Normal file
28
java/res/xml-land/kbd_phone_shift.xml
Normal file
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/*
|
||||
**
|
||||
** Copyright 2008, The Android Open Source Project
|
||||
**
|
||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||
** you may not use this file except in compliance with the License.
|
||||
** You may obtain a copy of the License at
|
||||
**
|
||||
** http://www.apache.org/licenses/LICENSE-2.0
|
||||
**
|
||||
** Unless required by applicable law or agreed to in writing, software
|
||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
** See the License for the specific language governing permissions and
|
||||
** limitations under the License.
|
||||
*/
|
||||
-->
|
||||
|
||||
<Keyboard
|
||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
||||
latin:keyboardHorizontalEdgesPadding="10%p"
|
||||
latin:keyWidth="26.67%p"
|
||||
>
|
||||
<include
|
||||
latin:keyboardLayout="@xml/kbd_rows_phone_shift" />
|
||||
</Keyboard>
|
|
@ -23,109 +23,5 @@
|
|||
latin:keyWidth="26.67%p"
|
||||
>
|
||||
<include
|
||||
latin:keyboardLayout="@xml/kbd_key_styles" />
|
||||
<include
|
||||
latin:keyboardLayout="@xml/kbd_numkey_styles" />
|
||||
<switch>
|
||||
<case
|
||||
latin:passwordInput="true"
|
||||
>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyStyle="num1KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num2KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num3KeyStyle" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyStyle="num4KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num5KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num6KeyStyle" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyStyle="num7KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num8KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num9KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="deleteKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Spacer />
|
||||
<Key
|
||||
latin:keyStyle="num0KeyStyle" />
|
||||
<Spacer />
|
||||
<Key
|
||||
latin:keyStyle="returnKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
</case>
|
||||
<!-- latin:passwordInput="false" -->
|
||||
<default>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyLabel="1"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="2"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="3"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="-"
|
||||
latin:keyStyle="numFunctionalKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyLabel="4"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="5"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="6"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel=","
|
||||
latin:keyStyle="numFunctionalKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyLabel="7"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="8"
|
||||
latin:keyStyle="numKeyStyle"/>
|
||||
<Key
|
||||
latin:keyLabel="9"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="deleteKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyStyle="numSpaceKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="0"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="."
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="returnKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
</default>
|
||||
</switch>
|
||||
latin:keyboardLayout="@xml/kbd_rows_number" />
|
||||
</Keyboard>
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/*
|
||||
/*
|
||||
**
|
||||
** Copyright 2008, The Android Open Source Project
|
||||
**
|
||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||
** you may not use this file except in compliance with the License.
|
||||
** You may obtain a copy of the License at
|
||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||
** you may not use this file except in compliance with the License.
|
||||
** You may obtain a copy of the License at
|
||||
**
|
||||
** http://www.apache.org/licenses/LICENSE-2.0
|
||||
** http://www.apache.org/licenses/LICENSE-2.0
|
||||
**
|
||||
** Unless required by applicable law or agreed to in writing, software
|
||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
** See the License for the specific language governing permissions and
|
||||
** Unless required by applicable law or agreed to in writing, software
|
||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
** See the License for the specific language governing permissions and
|
||||
** limitations under the License.
|
||||
*/
|
||||
-->
|
||||
|
@ -23,53 +23,5 @@
|
|||
latin:keyWidth="26.67%p"
|
||||
>
|
||||
<include
|
||||
latin:keyboardLayout="@xml/kbd_key_styles" />
|
||||
<include
|
||||
latin:keyboardLayout="@xml/kbd_numkey_styles" />
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyStyle="num1KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num2KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num3KeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="-"
|
||||
latin:keyStyle="numFunctionalKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyStyle="num4KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num5KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num6KeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="."
|
||||
latin:keyStyle="numFunctionalKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyStyle="num7KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num8KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num9KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="deleteKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyStyle="numSwitchToAltKeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num0KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="numSpaceKeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="returnKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
latin:keyboardLayout="@xml/kbd_rows_phone" />
|
||||
</Keyboard>
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/*
|
||||
/*
|
||||
**
|
||||
** Copyright 2008, The Android Open Source Project
|
||||
**
|
||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||
** you may not use this file except in compliance with the License.
|
||||
** You may obtain a copy of the License at
|
||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||
** you may not use this file except in compliance with the License.
|
||||
** You may obtain a copy of the License at
|
||||
**
|
||||
** http://www.apache.org/licenses/LICENSE-2.0
|
||||
** http://www.apache.org/licenses/LICENSE-2.0
|
||||
**
|
||||
** Unless required by applicable law or agreed to in writing, software
|
||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
** See the License for the specific language governing permissions and
|
||||
** Unless required by applicable law or agreed to in writing, software
|
||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
** See the License for the specific language governing permissions and
|
||||
** limitations under the License.
|
||||
*/
|
||||
-->
|
||||
|
@ -23,66 +23,5 @@
|
|||
latin:keyWidth="26.67%p"
|
||||
>
|
||||
<include
|
||||
latin:keyboardLayout="@xml/kbd_key_styles" />
|
||||
<include
|
||||
latin:keyboardLayout="@xml/kbd_numkey_styles" />
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyLabel="("
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="/"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel=")"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="-"
|
||||
latin:keyStyle="numFunctionalKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyLabel="N" />
|
||||
<!-- Pause is a comma. Check PhoneNumberUtils.java to see if this
|
||||
has changed. -->
|
||||
<Key
|
||||
latin:code="44"
|
||||
latin:keyLabel="@string/label_pause_key"
|
||||
latin:keyLabelOption="followKeyHintLabelRatio|autoXScale" />
|
||||
<Key
|
||||
latin:keyLabel=","
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="."
|
||||
latin:keyStyle="numFunctionalKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyStyle="numStarKeyStyle" />
|
||||
<!-- Wait is a semicolon. -->
|
||||
<Key
|
||||
latin:code="59"
|
||||
latin:keyLabel="@string/label_wait_key"
|
||||
latin:keyLabelOption="followKeyHintLabelRatio|autoXScale" />
|
||||
<Key
|
||||
latin:keyLabel="#"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="deleteKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyStyle="numSwitchToNumericKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="+"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="numSpaceKeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="returnKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
latin:keyboardLayout="@xml/kbd_rows_phone_shift" />
|
||||
</Keyboard>
|
||||
|
|
130
java/res/xml/kbd_rows_number.xml
Normal file
130
java/res/xml/kbd_rows_number.xml
Normal file
|
@ -0,0 +1,130 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/*
|
||||
**
|
||||
** Copyright 2011, The Android Open Source Project
|
||||
**
|
||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||
** you may not use this file except in compliance with the License.
|
||||
** You may obtain a copy of the License at
|
||||
**
|
||||
** http://www.apache.org/licenses/LICENSE-2.0
|
||||
**
|
||||
** Unless required by applicable law or agreed to in writing, software
|
||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
** See the License for the specific language governing permissions and
|
||||
** limitations under the License.
|
||||
*/
|
||||
-->
|
||||
|
||||
<merge
|
||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
||||
>
|
||||
<include
|
||||
latin:keyboardLayout="@xml/kbd_key_styles" />
|
||||
<include
|
||||
latin:keyboardLayout="@xml/kbd_numkey_styles" />
|
||||
<switch>
|
||||
<case
|
||||
latin:passwordInput="true"
|
||||
>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyStyle="num1KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num2KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num3KeyStyle" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyStyle="num4KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num5KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num6KeyStyle" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyStyle="num7KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num8KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num9KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="deleteKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Spacer />
|
||||
<Key
|
||||
latin:keyStyle="num0KeyStyle" />
|
||||
<Spacer />
|
||||
<Key
|
||||
latin:keyStyle="returnKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
</case>
|
||||
<!-- latin:passwordInput="false" -->
|
||||
<default>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyLabel="1"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="2"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="3"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="-"
|
||||
latin:keyStyle="numFunctionalKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyLabel="4"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="5"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="6"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel=","
|
||||
latin:keyStyle="numFunctionalKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyLabel="7"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="8"
|
||||
latin:keyStyle="numKeyStyle"/>
|
||||
<Key
|
||||
latin:keyLabel="9"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="deleteKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyStyle="numSpaceKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="0"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="."
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="returnKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
</default>
|
||||
</switch>
|
||||
</merge>
|
74
java/res/xml/kbd_rows_phone.xml
Normal file
74
java/res/xml/kbd_rows_phone.xml
Normal file
|
@ -0,0 +1,74 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/*
|
||||
**
|
||||
** Copyright 2011, The Android Open Source Project
|
||||
**
|
||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||
** you may not use this file except in compliance with the License.
|
||||
** You may obtain a copy of the License at
|
||||
**
|
||||
** http://www.apache.org/licenses/LICENSE-2.0
|
||||
**
|
||||
** Unless required by applicable law or agreed to in writing, software
|
||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
** See the License for the specific language governing permissions and
|
||||
** limitations under the License.
|
||||
*/
|
||||
-->
|
||||
|
||||
<merge
|
||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
||||
>
|
||||
<include
|
||||
latin:keyboardLayout="@xml/kbd_key_styles" />
|
||||
<include
|
||||
latin:keyboardLayout="@xml/kbd_numkey_styles" />
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyStyle="num1KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num2KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num3KeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="-"
|
||||
latin:keyStyle="numFunctionalKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyStyle="num4KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num5KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num6KeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="."
|
||||
latin:keyStyle="numFunctionalKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyStyle="num7KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num8KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num9KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="deleteKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyStyle="numSwitchToAltKeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="num0KeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="numSpaceKeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="returnKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
</merge>
|
87
java/res/xml/kbd_rows_phone_shift.xml
Normal file
87
java/res/xml/kbd_rows_phone_shift.xml
Normal file
|
@ -0,0 +1,87 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/*
|
||||
**
|
||||
** Copyright 2011, The Android Open Source Project
|
||||
**
|
||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||
** you may not use this file except in compliance with the License.
|
||||
** You may obtain a copy of the License at
|
||||
**
|
||||
** http://www.apache.org/licenses/LICENSE-2.0
|
||||
**
|
||||
** Unless required by applicable law or agreed to in writing, software
|
||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
** See the License for the specific language governing permissions and
|
||||
** limitations under the License.
|
||||
*/
|
||||
-->
|
||||
|
||||
<merge
|
||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
||||
>
|
||||
<include
|
||||
latin:keyboardLayout="@xml/kbd_key_styles" />
|
||||
<include
|
||||
latin:keyboardLayout="@xml/kbd_numkey_styles" />
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyLabel="("
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="/"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel=")"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="-"
|
||||
latin:keyStyle="numFunctionalKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyLabel="N" />
|
||||
<!-- Pause is a comma. Check PhoneNumberUtils.java to see if this
|
||||
has changed. -->
|
||||
<Key
|
||||
latin:code="44"
|
||||
latin:keyLabel="@string/label_pause_key"
|
||||
latin:keyLabelOption="followKeyHintLabelRatio|autoXScale" />
|
||||
<Key
|
||||
latin:keyLabel=","
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="."
|
||||
latin:keyStyle="numFunctionalKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyStyle="numStarKeyStyle" />
|
||||
<!-- Wait is a semicolon. -->
|
||||
<Key
|
||||
latin:code="59"
|
||||
latin:keyLabel="@string/label_wait_key"
|
||||
latin:keyLabelOption="followKeyHintLabelRatio|autoXScale" />
|
||||
<Key
|
||||
latin:keyLabel="#"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="deleteKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
latin:keyStyle="numSwitchToNumericKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="+"
|
||||
latin:keyStyle="numKeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="numSpaceKeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="returnKeyStyle"
|
||||
latin:keyWidth="fillRight" />
|
||||
</Row>
|
||||
</merge>
|
|
@ -120,11 +120,6 @@ public class Key {
|
|||
/** Whether this key needs to show the "..." popup hint for special purposes */
|
||||
private boolean mNeedsSpecialPopupHint;
|
||||
|
||||
// keyWidth enum constants
|
||||
private static final int KEYWIDTH_NOT_ENUM = 0;
|
||||
private static final int KEYWIDTH_FILL_RIGHT = -1;
|
||||
private static final int KEYWIDTH_FILL_BOTH = -2;
|
||||
|
||||
// RTL parenthesis character swapping map.
|
||||
private static final Map<Integer, Integer> sRtlParenthesisMap = new HashMap<Integer, Integer>();
|
||||
|
||||
|
@ -216,21 +211,9 @@ public class Key {
|
|||
*/
|
||||
public Key(Resources res, KeyboardParams params, KeyboardBuilder.Row row,
|
||||
XmlResourceParser parser, KeyStyles keyStyles) {
|
||||
final TypedArray keyboardAttr = res.obtainAttributes(Xml.asAttributeSet(parser),
|
||||
R.styleable.Keyboard);
|
||||
mHeight = (int)KeyboardBuilder.getDimensionOrFraction(keyboardAttr,
|
||||
R.styleable.Keyboard_rowHeight, params.mBaseHeight, row.mRowHeight)
|
||||
- params.mVerticalGap;
|
||||
final float horizontalGap = isSpacer() ? 0
|
||||
: KeyboardBuilder.getDimensionOrFraction(keyboardAttr,
|
||||
R.styleable.Keyboard_horizontalGap, params.mBaseWidth,
|
||||
params.mHorizontalGap);
|
||||
final float horizontalGap = isSpacer() ? 0 : params.mHorizontalGap;
|
||||
mVerticalGap = params.mVerticalGap;
|
||||
final int widthType = KeyboardBuilder.getEnumValue(keyboardAttr,
|
||||
R.styleable.Keyboard_keyWidth, KEYWIDTH_NOT_ENUM);
|
||||
float keyWidth = KeyboardBuilder.getDimensionOrFraction(keyboardAttr,
|
||||
R.styleable.Keyboard_keyWidth, params.mBaseWidth, row.mDefaultKeyWidth);
|
||||
keyboardAttr.recycle();
|
||||
mHeight = row.mRowHeight - mVerticalGap;
|
||||
|
||||
final TypedArray keyAttr = res.obtainAttributes(Xml.asAttributeSet(parser),
|
||||
R.styleable.Keyboard_Key);
|
||||
|
@ -245,38 +228,16 @@ public class Key {
|
|||
style = keyStyles.getEmptyKeyStyle();
|
||||
}
|
||||
|
||||
final int keyboardWidth = params.mOccupiedWidth;
|
||||
final float x = row.mCurrentX;
|
||||
float keyXPos = KeyboardBuilder.getDimensionOrFraction(keyAttr,
|
||||
R.styleable.Keyboard_Key_keyXPos, keyboardWidth, x);
|
||||
if (keyXPos < 0) {
|
||||
// If keyXPos is negative, the actual x-coordinate will be keyboardWidth + keyXPos.
|
||||
keyXPos += keyboardWidth;
|
||||
if (keyXPos < x) {
|
||||
// keyXPos shouldn't be less than x because drawable area for this key starts
|
||||
// at x. Or, this key will overlaps the adjacent key on its left hand side.
|
||||
keyXPos = x;
|
||||
}
|
||||
}
|
||||
if (widthType == KEYWIDTH_FILL_RIGHT) {
|
||||
// If keyWidth is zero, the actual key width will be determined to fill out the
|
||||
// area up to the right edge of the keyboard.
|
||||
keyWidth = keyboardWidth - keyXPos;
|
||||
} else if (widthType == KEYWIDTH_FILL_BOTH) {
|
||||
// If keyWidth is negative, the actual key width will be determined to fill out the
|
||||
// area between the nearest key on the left hand side and the right edge of the
|
||||
// keyboard.
|
||||
keyXPos = x;
|
||||
keyWidth = keyboardWidth - keyXPos;
|
||||
}
|
||||
final float keyXPos = row.getKeyX(keyAttr);
|
||||
final float keyWidth = row.getKeyWidth(keyAttr, keyXPos);
|
||||
|
||||
// Horizontal gap is divided equally to both sides of the key.
|
||||
mX = (int) (keyXPos + horizontalGap / 2);
|
||||
mY = row.mCurrentY;
|
||||
mY = row.getKeyY();
|
||||
mWidth = (int) (keyWidth - horizontalGap);
|
||||
mHorizontalGap = (int) horizontalGap;
|
||||
// Update row to have current x coordinate.
|
||||
row.mCurrentX = keyXPos + keyWidth;
|
||||
row.setXPos(keyXPos + keyWidth);
|
||||
|
||||
final CharSequence[] moreKeys = style.getTextArray(keyAttr,
|
||||
R.styleable.Keyboard_Key_moreKeys);
|
||||
|
@ -288,20 +249,20 @@ public class Key {
|
|||
} else {
|
||||
mMoreKeys = moreKeys;
|
||||
}
|
||||
mMaxMoreKeysColumn = style.getInt(keyboardAttr, R.styleable.Keyboard_Key_maxMoreKeysColumn,
|
||||
params.mMaxMiniKeyboardColumn);
|
||||
mMaxMoreKeysColumn = style.getInt(keyAttr,
|
||||
R.styleable.Keyboard_Key_maxMoreKeysColumn, params.mMaxMiniKeyboardColumn);
|
||||
|
||||
mBackgroundType = style.getInt(
|
||||
keyAttr, R.styleable.Keyboard_Key_backgroundType, BACKGROUND_TYPE_NORMAL);
|
||||
mBackgroundType = style.getInt(keyAttr,
|
||||
R.styleable.Keyboard_Key_backgroundType, BACKGROUND_TYPE_NORMAL);
|
||||
mRepeatable = style.getBoolean(keyAttr, R.styleable.Keyboard_Key_isRepeatable, false);
|
||||
mEnabled = style.getBoolean(keyAttr, R.styleable.Keyboard_Key_enabled, true);
|
||||
mEdgeFlags = 0;
|
||||
|
||||
final KeyboardIconsSet iconsSet = params.mIconsSet;
|
||||
mVisualInsetsLeft = (int) KeyboardBuilder.getDimensionOrFraction(keyAttr,
|
||||
R.styleable.Keyboard_Key_visualInsetsLeft, keyboardWidth, 0);
|
||||
R.styleable.Keyboard_Key_visualInsetsLeft, params.mBaseWidth, 0);
|
||||
mVisualInsetsRight = (int) KeyboardBuilder.getDimensionOrFraction(keyAttr,
|
||||
R.styleable.Keyboard_Key_visualInsetsRight, keyboardWidth, 0);
|
||||
R.styleable.Keyboard_Key_visualInsetsRight, params.mBaseWidth, 0);
|
||||
mPreviewIcon = iconsSet.getIcon(style.getInt(keyAttr,
|
||||
R.styleable.Keyboard_Key_keyIconPreview, KeyboardIconsSet.ICON_UNDEFINED));
|
||||
mIcon = iconsSet.getIcon(style.getInt(keyAttr, R.styleable.Keyboard_Key_keyIcon,
|
||||
|
|
|
@ -144,27 +144,96 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
|
|||
* defines.
|
||||
*/
|
||||
public static class Row {
|
||||
// keyWidth enum constants
|
||||
private static final int KEYWIDTH_NOT_ENUM = 0;
|
||||
private static final int KEYWIDTH_FILL_RIGHT = -1;
|
||||
private static final int KEYWIDTH_FILL_BOTH = -2;
|
||||
|
||||
private final KeyboardParams mParams;
|
||||
/** Default width of a key in this row. */
|
||||
public final float mDefaultKeyWidth;
|
||||
/** Default height of a key in this row. */
|
||||
public final int mRowHeight;
|
||||
|
||||
public final int mCurrentY;
|
||||
private final int mCurrentY;
|
||||
// Will be updated by {@link Key}'s constructor.
|
||||
public float mCurrentX;
|
||||
private float mCurrentX;
|
||||
|
||||
public Row(Resources res, KeyboardParams params, XmlResourceParser parser, int y) {
|
||||
TypedArray a = res.obtainAttributes(Xml.asAttributeSet(parser),
|
||||
mParams = params;
|
||||
TypedArray keyboardAttr = res.obtainAttributes(Xml.asAttributeSet(parser),
|
||||
R.styleable.Keyboard);
|
||||
mDefaultKeyWidth = KeyboardBuilder.getDimensionOrFraction(a,
|
||||
R.styleable.Keyboard_keyWidth, params.mBaseWidth, params.mDefaultKeyWidth);
|
||||
mRowHeight = (int)KeyboardBuilder.getDimensionOrFraction(a,
|
||||
mRowHeight = (int)KeyboardBuilder.getDimensionOrFraction(keyboardAttr,
|
||||
R.styleable.Keyboard_rowHeight, params.mBaseHeight, params.mDefaultRowHeight);
|
||||
a.recycle();
|
||||
keyboardAttr.recycle();
|
||||
TypedArray keyAttr = res.obtainAttributes(Xml.asAttributeSet(parser),
|
||||
R.styleable.Keyboard_Key);
|
||||
mDefaultKeyWidth = KeyboardBuilder.getDimensionOrFraction(keyboardAttr,
|
||||
R.styleable.Keyboard_Key_keyWidth, params.mBaseWidth, params.mDefaultKeyWidth);
|
||||
keyAttr.recycle();
|
||||
|
||||
mCurrentY = y;
|
||||
mCurrentX = 0.0f;
|
||||
}
|
||||
|
||||
public void setXPos(float keyXPos) {
|
||||
mCurrentX = keyXPos;
|
||||
}
|
||||
|
||||
public void advanceXPos(float width) {
|
||||
mCurrentX += width;
|
||||
}
|
||||
|
||||
public int getKeyY() {
|
||||
return mCurrentY;
|
||||
}
|
||||
|
||||
public float getKeyX(TypedArray keyAttr) {
|
||||
final int widthType = KeyboardBuilder.getEnumValue(keyAttr,
|
||||
R.styleable.Keyboard_Key_keyWidth, KEYWIDTH_NOT_ENUM);
|
||||
if (widthType == KEYWIDTH_FILL_BOTH) {
|
||||
// If keyWidth is fillBoth, the key width should start right after the nearest key
|
||||
// on the left hand side.
|
||||
return mCurrentX;
|
||||
}
|
||||
|
||||
final int keyboardRightEdge = mParams.mOccupiedWidth - mParams.mHorizontalEdgesPadding;
|
||||
if (keyAttr.hasValue(R.styleable.Keyboard_Key_keyXPos)) {
|
||||
final float keyXPos = KeyboardBuilder.getDimensionOrFraction(keyAttr,
|
||||
R.styleable.Keyboard_Key_keyXPos, mParams.mBaseWidth, 0);
|
||||
if (keyXPos < 0) {
|
||||
// If keyXPos is negative, the actual x-coordinate will be
|
||||
// keyboardWidth + keyXPos.
|
||||
// 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 its left
|
||||
// hand side.
|
||||
return Math.max(keyXPos + keyboardRightEdge, mCurrentX);
|
||||
} else {
|
||||
return keyXPos + mParams.mHorizontalEdgesPadding;
|
||||
}
|
||||
}
|
||||
return mCurrentX;
|
||||
}
|
||||
|
||||
public float getKeyWidth(TypedArray keyAttr, float keyXPos) {
|
||||
final int widthType = KeyboardBuilder.getEnumValue(keyAttr,
|
||||
R.styleable.Keyboard_Key_keyWidth, KEYWIDTH_NOT_ENUM);
|
||||
switch (widthType) {
|
||||
case KEYWIDTH_FILL_RIGHT:
|
||||
case KEYWIDTH_FILL_BOTH:
|
||||
final int keyboardRightEdge =
|
||||
mParams.mOccupiedWidth - mParams.mHorizontalEdgesPadding;
|
||||
// If keyWidth is fillRight, the actual key width will be determined to fill out the
|
||||
// area up to the right edge of the keyboard.
|
||||
// If keyWidth is fillBoth, the actual key width will be determined to fill out the
|
||||
// area between the nearest key on the left hand side and the right edge of the
|
||||
// keyboard.
|
||||
return keyboardRightEdge - keyXPos;
|
||||
default: // KEYWIDTH_NOT_ENUM
|
||||
return KeyboardBuilder.getDimensionOrFraction(keyAttr,
|
||||
R.styleable.Keyboard_Key_keyWidth, mParams.mBaseWidth, mDefaultKeyWidth);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public KeyboardBuilder(Context context, KP params) {
|
||||
|
@ -174,8 +243,6 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
|
|||
mDisplayMetrics = res.getDisplayMetrics();
|
||||
|
||||
mParams = params;
|
||||
mParams.mHorizontalEdgesPadding = (int)res.getDimension(
|
||||
R.dimen.keyboard_horizontal_edges_padding);
|
||||
|
||||
mParams.GRID_WIDTH = res.getInteger(R.integer.config_keyboard_grid_width);
|
||||
mParams.GRID_HEIGHT = res.getInteger(R.integer.config_keyboard_grid_height);
|
||||
|
@ -270,11 +337,13 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
|
|||
R.styleable.Keyboard_keyboardTopPadding, params.mOccupiedHeight, 0);
|
||||
params.mBottomPadding = (int)getDimensionOrFraction(keyboardAttr,
|
||||
R.styleable.Keyboard_keyboardBottomPadding, params.mOccupiedHeight, 0);
|
||||
params.mHorizontalEdgesPadding = (int)getDimensionOrFraction(keyboardAttr,
|
||||
R.styleable.Keyboard_keyboardHorizontalEdgesPadding, mParams.mOccupiedWidth, 0);
|
||||
|
||||
params.mBaseWidth = params.mOccupiedWidth - params.mHorizontalEdgesPadding * 2
|
||||
- params.mHorizontalCenterPadding;
|
||||
params.mDefaultKeyWidth = (int)getDimensionOrFraction(keyboardAttr,
|
||||
R.styleable.Keyboard_keyWidth, params.mBaseWidth,
|
||||
params.mDefaultKeyWidth = (int)getDimensionOrFraction(keyAttr,
|
||||
R.styleable.Keyboard_Key_keyWidth, params.mBaseWidth,
|
||||
params.mBaseWidth / DEFAULT_KEYBOARD_COLUMNS);
|
||||
params.mHorizontalGap = (int)getDimensionOrFraction(keyboardAttr,
|
||||
R.styleable.Keyboard_horizontalGap, params.mBaseWidth, 0);
|
||||
|
@ -670,7 +739,6 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
|
|||
}
|
||||
|
||||
private void startRow(Row row) {
|
||||
row.mCurrentX = 0;
|
||||
addEdgeSpace(mParams.mHorizontalEdgesPadding, row);
|
||||
mCurrentRow = row;
|
||||
mLeftEdge = true;
|
||||
|
@ -685,7 +753,7 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
|
|||
mRightEdgeKey = null;
|
||||
}
|
||||
addEdgeSpace(mParams.mHorizontalEdgesPadding, row);
|
||||
mCurrentY += mCurrentRow.mRowHeight;
|
||||
mCurrentY += row.mRowHeight;
|
||||
mCurrentRow = null;
|
||||
mTopEdge = false;
|
||||
}
|
||||
|
@ -706,7 +774,7 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
|
|||
}
|
||||
|
||||
private void addEdgeSpace(float width, Row row) {
|
||||
row.mCurrentX += width;
|
||||
row.advanceXPos(width);
|
||||
mLeftEdge = false;
|
||||
mRightEdgeKey = null;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue