在android xml中创建双面板键盘

问题描述

我在 android 中开发了一个键盘键盘是用 xml 制作的。 它只有一个按键面板,我如何放置一个允许用户从 2 个不同的按键面板切换以拥有更多可分配按键的按键? 就像在每个智能手机键盘中一样,特殊字符键可以用不同的键打开另一个标签页。

这里是我的键盘 xml。

<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
    android:keyWidth="10%p"
    android:horizontalGap="0px"
    android:verticalGap="0px"
    android:keyHeight="43dp"
    android:keyPreviewLayout="@null"
    >
    <Row>
        <Key android:codes="49" android:keyLabel="1" android:keyEdgeFlags="left"/>
        <Key android:codes="50" android:keyLabel="2"/>
        <Key android:codes="52" android:keyLabel="3"/>
        <Key android:codes="53" android:keyLabel="4"/>
        <Key android:codes="54" android:keyLabel="5"/>
        <Key android:codes="55" android:keyLabel="6"/>
        <Key android:codes="56" android:keyLabel="7"/>
        <Key android:codes="57" android:keyLabel="8"/>
        <Key android:codes="58" android:keyLabel="9"/>
        <Key android:codes="48" android:keyLabel="0" android:keyEdgeFlags="right"/>
    </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"/>
            <Key android:codes="114" android:keyLabel="r"/>
            <Key android:codes="116" android:keyLabel="t"/>
            <Key android:codes="121" android:keyLabel="y"/>
            <Key android:codes="117" android:keyLabel="u"/>
            <Key android:codes="105" android:keyLabel="i"/>
            <Key android:codes="111" android:keyLabel="o"/>
            <Key android:codes="112" android:keyLabel="p" android:keyEdgeFlags="right"/>
        </Row>

        <Row>
            <Key android:codes="97" android:keyLabel="a" android:horizontalGap="5%" 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" android:keyEdgeFlags="right"/>
        </Row>

        <Row>
            <Key android:codes="-1" android:keyLabel="\u21E7 " android:keyWidth="15%p" android:keyEdgeFlags="left"/> <!--shift key-->
            <Key android:codes="122" android:keyLabel="z"/>
            <Key android:codes="120" android:keyLabel="x"/>
            <Key android:codes="99" android:keyLabel="c"/>
            <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="-5" android:keyLabel="\u232B" android:keyWidth="15%p" android:isRepeatable="true" android:keyEdgeFlags="right"/> <!--Delete key-->

        </Row>
        <Row android:rowEdgeFlags="bottom">
            <Key android:codes="39" android:keyLabel="'" android:keyWidth="10%p" android:keyEdgeFlags="left" />
            <Key android:codes="44" android:keyLabel="," android:keyWidth="10%p" />
            <Key android:codes="32" android:keyLabel="\u1680" android:keyWidth="45%p" android:isRepeatable="true"/><!--space key-->
            <Key android:codes="46" android:keyLabel="." android:keyWidth="10%p"/>
            <Key android:codes="63" android:keyWidth="10%p" android:keyLabel="\?" />
            <Key android:codes="33" android:keyWidth="10%p" android:keyLabel="\!" />
            <Key android:codes="-4" android:keyLabel="\u2713" android:keyWidth="15%p" android:keyEdgeFlags="right" /> <!--Enter key-->
        </Row>


</Keyboard>

有没有办法不以编程方式做到这一点?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)