当制作自定义键盘时,可以通过使用android:horizontalGap="6.25%p"
来获得一个按键的前导空间(左侧的空间)。
那么如何获得尾随空间(右侧的空间)呢?
当制作自定义键盘时,可以通过使用android:horizontalGap="6.25%p"
来获得一个按键的前导空间(左侧的空间)。
那么如何获得尾随空间(右侧的空间)呢?
android:horizontalGap="6.25%p.
该代码创建了一个间隙,在具有 horizontalGap
属性的键位之前。
例如: 键位左侧的前导空格。
例如:
<Row>
<Key android:codes="69" android:keyLabel="E" android:horizontalGap="6.25%p" />
<Key android:codes="70" android:keyLabel="F" />
</Row>
horizontalGap
(在键盘级别上),则具有horizontalGap
属性的键不再在前面创建间隙,而是在后面创建间隙。
即。键的末尾空格(向右的空格)。对于我在 Android 5.1 上,android:horizontalGap
属性的工作方式如下:
android:keyWidth
的总和大于100,则指定该属性的按键后将显示间隙。例如,对于以下情况,该间隙位于按键之前:
<Row>
<Key android:codes="97" android:keyLabel="a" android:horizontalGap="5%p" android:keyEdgeFlags="left"/>
<Key android:codes="115" android:keyLabel="s"/>
<Key android:codes="100" android:keyLabel="d"/>
<Key android:codes="102" android:keyLabel="f"/>
<Key android:codes="103" android:keyLabel="g"/>
<Key android:codes="104" android:keyLabel="h"/>
<Key android:codes="106" android:keyLabel="j"/>
<Key android:codes="107" android:keyLabel="k"/>
<Key android:codes="108" android:keyLabel="l"/>
<Key android:codes="66" android:keyIcon="@drawable/enter_key" android:keyWidth="20%p" android:isRepeatable="true" android:keyEdgeFlags="right"/>
</Row>
当我只改变一个值时,出现了间隙:
<Row>
<Key android:codes="97" android:keyLabel="a" android:horizontalGap="5%p" android:keyEdgeFlags="left"/>
<Key android:codes="115" android:keyLabel="s"/>
<Key android:codes="100" android:keyLabel="d"/>
<Key android:codes="102" android:keyLabel="f"/>
<Key android:codes="103" android:keyLabel="g"/>
<Key android:codes="104" android:keyLabel="h"/>
<Key android:codes="106" android:keyLabel="j"/>
<Key android:codes="107" android:keyLabel="k"/>
<Key android:codes="108" android:keyLabel="l"/>
<Key android:codes="66" android:keyIcon="@drawable/enter_key" android:keyWidth="22%p" android:isRepeatable="true" android:keyEdgeFlags="right"/>
</Row>
唯一的解决方法是指定正确的keyWidth,使得一行中keyWidth的总和小于或等于100%。(感谢@Lemberg的观察)
对于我的例子,我将100除以12(一行中最大键数),得到8.(3),因此11个键的正确horizontalGap应为8.33/2。(4.165 + 11*8.33 + 4.165 = 99.96 ~ 100)
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
android:keyWidth="8.33%p"
...
<Row>
<Key android:codes="4304" android:keyLabel="ა" android:horizontalGap="4.165%p" android:keyEdgeFlags="left" />
<Key android:codes="4321" android:keyLabel="ს" />
<Key android:codes="4307" android:keyLabel="დ" />
<Key android:codes="4324" android:keyLabel="ფ" />
<Key android:codes="4306" android:keyLabel="გ" />
<Key android:codes="4336" android:keyLabel="ჰ"/>
<Key android:codes="4335" android:keyLabel="ჯ"/>
<Key android:codes="4313" android:keyLabel="კ"/>
<Key android:codes="4314" android:keyLabel="ლ"/>
<Key android:codes="4329" android:keyLabel="ჩ"/>
<Key android:codes="4319" android:keyLabel="ჟ" android:keyEdgeFlags="right"/>
</Row>