gpt4 book ai didi

Android:自定义键盘行不居中

转载 作者:太空宇宙 更新时间:2023-11-03 12:21:37 26 4
gpt4 key购买 nike

我正在尝试为 Android 创建自定义键盘。我使用软键盘示例应用程序作为起点。我的问题是我无法将键盘中的一行居中,而我在网上找到的其他示例显然可以正常工作。

我的 XML 文件如下所示:

<?xml version="1.0" encoding="utf-8"?><Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
android:horizontalGap="@dimen/horizontal_gap"
android:keyHeight="@dimen/key_height"
android:keyWidth="10%p"
android:verticalGap="@dimen/vertical_gap" >
<Row>
<Key
android:codes="49"
android:keyEdgeFlags="left"
android:keyLabel="1" />
<Key
android:codes="50"
android:keyLabel="2" />
<Key
android:codes="51"
android:keyLabel="3" />
<Key
android:codes="52"
android:keyLabel="4" />
<Key
android:codes="53"
android:keyLabel="5" />
<Key
android:codes="54"
android:keyLabel="6" />
<Key
android:codes="55"
android:keyLabel="7" />
<Key
android:codes="56"
android:keyLabel="8" />
<Key
android:codes="57"
android:keyLabel="9" />
<Key
android:codes="48"
android:keyEdgeFlags="right"
android:keyLabel="0" />
</Row>
<Row>
<Key
android:codes="1"
android:keyEdgeFlags="left"
android:keyLabel="q" />
<Key
android:codes="2"
android:keyLabel="w" />
<Key
android:codes="3"
android:keyLabel="e" />
<Key
android:codes="4"
android:keyLabel="r" />
<Key
android:codes="5"
android:keyLabel="t" />
<Key
android:codes="6"
android:keyLabel="y" />
<Key
android:codes="-5"
android:isRepeatable="true"
android:keyEdgeFlags="right"
android:keyIcon="@drawable/sym_keyboard_delete" />
</Row>
<Row>
<Key
android:codes="99"
android:keyEdgeFlags="left"
android:keyLabel="c" />
<Key
android:codes="32"
android:isRepeatable="true"
android:keyIcon="@drawable/sym_keyboard_space"
android:keyWidth="30%p" />
<Key
android:codes="63"
android:keyLabel="\?"
android:keyWidth="@dimen/small_buttons" />
<Key
android:codes="33"
android:keyLabel="!"
android:keyWidth="@dimen/small_buttons" />
<Key
android:codes="46"
android:keyLabel="."
android:keyWidth="@dimen/small_buttons" />
<Key
android:codes="44"
android:keyEdgeFlags="right"
android:keyLabel=","
android:keyWidth="@dimen/small_buttons" />
</Row></Keyboard>

为了使第二行和第三行居中,缺少什么?

提前致谢。

最佳答案

顶行有 10 个键,而第二行和第三行分别只有 7 个和 6 个键。由于 keyWidth 定义为 10%,这 10 个键填满了整个空间。但是,第二行和第三行分别有 7 个和 6 个键,只填充了整个空间的 70% 和 60%,这意味着它们看起来向左对齐,而右边的空白空间。为了使按键排列在行的中间,第二行的第一个键应该有 15% 的水平间隙,第三行应该有 20% 的水平间隙,以便将左侧移到中间。

请更正第二行和第三行的第一部分如下:

<Row>
<Key
android:horizontalGap="15%"
android:codes="1"
android:keyEdgeFlags="left"
android:keyLabel="q" />

......

<Row>
<Key
android:horizontalGap="20%"
android:codes="99"
android:keyEdgeFlags="left"
android:keyLabel="c" />

关于Android:自定义键盘行不居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14215454/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com