首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在键盘布局上的键前留一个空格?

如何在键盘布局上的键前留一个空格?
EN

Stack Overflow用户
提问于 2019-11-26 01:43:02
回答 1查看 441关注 0票数 2

我在Android上开发了一个自定义键盘应用程序。现在,我的键盘看起来像这样:

我喜欢做的是在左边为第一个键留出一些空间,在右边为行中的最后一个键留出一些空间。换句话说,我想把键放在行的中央。它需要是这样的:

我试过使用不同的android:keyWidth设置,还有android:horizontalGap,但它们都不适用于这个特定的设计决定。

我的keys_layout_dark_theme文件。我有三个不同的主题,所以只有一个和另一个之间的变化是颜色,图标。

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8"?>

<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
android:keyWidth="10%p"
android:horizontalGap="2dp"
android:verticalGap="2dp"
android:keyHeight="55dp"
android:keyTextColor="@color/colorAccent"
android:keyBackground="@drawable/key_background_dark_theme">
<Row>
    <Key android:codes="49" android:keyLabel="1" android:keyEdgeFlags="left"/>
    <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:keyLabel="0"/>
</Row>
<Row>
    <Key android:codes="113" android:keyLabel="q" android:keyEdgeFlags="left"/>
    <Key android:codes="119" android:keyLabel="w"/>
    <Key android:codes="101" android:keyLabel="e"
        android:popupKeyboard="@xml/popup_keyboard_dark_theme"
        android:popupCharacters="é"/>
    <Key android:codes="114" android:keyLabel="r"/>
    <Key android:codes="116" android:keyLabel="t"
        android:popupKeyboard="@xml/popup_keyboard_dark_theme"
        android:popupCharacters="ṫ"/>
    <Key android:codes="121" android:keyLabel="y"/>
    <Key android:codes="117" android:keyLabel="u"
        android:popupKeyboard="@xml/popup_keyboard_dark_theme"/>
    <Key android:codes="305" android:keyLabel="ı"/>
    <Key android:codes="111" android:keyLabel="o"
        android:popupKeyboard="@xml/popup_keyboard_dark_theme"/>
    <Key android:codes="112" android:keyLabel="p"
        android:popupKeyboard="@xml/popup_keyboard_dark_theme"
        android:popupCharacters="ṕ"/>
    <Key android:codes="287" android:keyLabel="ğ"/>
    <Key android:codes="252" android:keyLabel="ü"
        android:keyEdgeFlags="right"/>
</Row>
<Row>
    <Key android:codes="97" android:keyLabel="a"
        android:keyEdgeFlags="left"
        android:popupKeyboard="@xml/popup_keyboard_dark_theme"
        android:popupCharacters="á"/>
    <Key android:codes="115" android:keyLabel="s"
        android:popupKeyboard="@xml/popup_keyboard_dark_theme"
        android:popupCharacters="šś"/>
    <Key android:codes="100" android:keyLabel="d"/>
    <Key android:codes="102" android:keyLabel="f"
        android:popupKeyboard="@xml/popup_keyboard_dark_theme"
        android:popupCharacters="ḟ"/>
    <Key android:codes="103" android:keyLabel="g"
        android:popupKeyboard="@xml/popup_keyboard_dark_theme"
        android:popupCharacters="ǵ"/>
    <Key android:codes="104" android:keyLabel="h"
        android:popupKeyboard="@xml/popup_keyboard_dark_theme"
        android:popupCharacters="ḣ"/>
    <Key android:codes="106" android:keyLabel="j"
        android:popupKeyboard="@xml/popup_keyboard_dark_theme"
        android:popupCharacters="ĵ"/>
    <Key android:codes="107" android:keyLabel="k"
        android:popupKeyboard="@xml/popup_keyboard_dark_theme"
        android:popupCharacters="ḱ"/>
    <Key android:codes="108" android:keyLabel="l"
        android:popupKeyboard="@xml/popup_keyboard_dark_theme"
        android:popupCharacters="ĺ"/>
    <Key android:codes="351" android:keyLabel="ş"
        android:popupKeyboard="@xml/popup_keyboard_dark_theme"
        android:popupCharacters="ṩ"/>
    <Key android:codes="105" android:keyLabel="i"
        android:popupKeyboard="@xml/popup_keyboard_dark_theme"
        android:popupCharacters="İ"
        android:keyEdgeFlags="right"/>
</Row>
<Row>
    <Key android:codes="-1" android:keyEdgeFlags="left"
        android:keyIcon="@drawable/ic_cap_letters"
        android:keyWidth="15%p"/>
    <Key android:codes="122" android:keyLabel="z"
        android:popupKeyboard="@xml/popup_keyboard_dark_theme"
        android:popupCharacters="ź"/>
    <Key android:codes="120" android:keyLabel="x"/>
    <Key android:codes="99" android:keyLabel="c"
        android:popupKeyboard="@xml/popup_keyboard_dark_theme"
        android:popupCharacters="ć"/>
    <Key android:codes="118" android:keyLabel="v"/>
    <Key android:codes="98" android:keyLabel="b"/>
    <Key android:codes="110" android:keyLabel="n"/>
    <Key android:codes="109" android:keyLabel="m"/>
    <Key android:codes="246" android:keyLabel="ö"/>
    <Key android:codes="231" android:keyLabel="ç"
        android:popupKeyboard="@xml/popup_keyboard_dark_theme"
        android:popupCharacters="ḉ"/>
    <Key android:codes="-5" android:keyIcon="@drawable/ic_clear"

        android:keyWidth="15%p"
        android:isRepeatable="true"
        android:keyEdgeFlags="right"/>
</Row>
<Row android:rowEdgeFlags="bottom">
    <Key android:codes="-2" android:keyWidth="15%p"
        android:keyIcon="@drawable/ic_symbols"
        android:keyEdgeFlags="left"/>
    <Key android:codes="44" android:keyLabel="," android:keyWidth="10%p"/>
    <Key android:codes="46" android:keyLabel="."/>
    <Key android:codes="32" android:keyLabel="SPACE"
        android:keyWidth="50%p"
        android:isRepeatable="true"/>
    <Key android:codes="39" android:keyLabel="'"/>
    <Key android:codes="-4" android:keyBackground="@color/colorPrimary"
        android:keyIcon="@drawable/ic_success"
        android:keyWidth="15%p"
        android:keyEdgeFlags="right"/>
</Row>
</Keyboard>
EN

回答 1

Stack Overflow用户

发布于 2019-11-27 21:00:06

您应该在keys中添加android:verticalGapandroid:horizontalGap属性。

它看起来或多或少如下所示:

代码语言:javascript
运行
复制
<Row android:verticalGap="1%p" 
      android:horizontalGap="0.5%p">

在创建自定义键盘布局时,还有一些属性可以帮助您。看看这个question

如果只想在一侧留出页边距,请组合使用edgeFlagsgap属性:

代码语言:javascript
运行
复制
<Key android:keyEdgeFlags="left" gap="1%p"/>

否则,如果您不想使用它,也有两个变通方法:第一个选项是为图像中有空格的键添加自定义可绘制,第二个选项是添加一个空键,并使用空键的android:horizontalGap设置边距的大小。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59037402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档