如何以编程方式实现软键盘导航

时间:2015-01-26 09:17:59

标签: android navigation keyboard android-softkeyboard

我正在尝试在我的应用程序中实现自定义软键盘。我可以在需要时弹出一个软键盘。但我无法浏览这个软键板。我正在研究一种将其视为2 * 2矩阵的逻辑,但我无法前后移动或浏览这个软键盘。我可以访问所有按钮的ID。是否有任何示例代码或某些东西可以帮助我进行此导航。任何想法都会非常感激。 这是我的布局代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/hebrwKeyboardView"
    android:layout_width="fill_parent"
    android:layout_height="195sp"
    android:layout_alignParentBottom="true"
    android:layout_below="@+id/xsubLayout"
    android:background="#252625"
    android:orientation="vertical"
    android:visibility="visible"
    tools:context=".MainActivity" >

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="200sp"
        android:layout_alignParentBottom="true"
        android:clipChildren="true"
        android:orientation="vertical" >

        <TableLayout
            android:layout_width="wrap_content"
            android:layout_height="200sp"
            android:padding="0sp" >

            <TableRow
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:padding="0sp" >

                <LinearLayout
                    android:layout_width="fill_parent"
                    android:layout_height="45sp"
                    android:baselineAligned="true"
                    android:fitsSystemWindows="true" >

                    <Button
                        android:id="@+id/btn_Q"
                        android:layout_width="30sp"
                        android:layout_height="fill_parent"
                        android:focusable="true"
                        android:focusableInTouchMode="true"
                        android:padding="0sp"
                        android:tag="Q"
                        android:text="Q"
                        android:textColor="#000"
                        android:textStyle="bold" >

                        <requestFocus />
                    </Button>

                    <Button
                        android:id="@+id/btn_W"
                        android:layout_width="30sp"
                        android:layout_height="fill_parent"
                        android:layout_gravity="left"
                        android:padding="0sp"
                        android:soundEffectsEnabled="true"
                        android:tag="W"
                        android:text="W"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_E"
                        android:layout_width="30sp"
                        android:layout_height="fill_parent"
                        android:layout_gravity="left"
                        android:fitsSystemWindows="true"
                        android:padding="0sp"
                        android:soundEffectsEnabled="true"
                        android:tag="E"
                        android:text="E"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_R"
                        android:layout_width="30sp"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center_horizontal"
                        android:ellipsize="marquee"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="R"
                        android:text="R"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_T"
                        android:layout_width="33sp"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center_horizontal"
                        android:ellipsize="marquee"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="T"
                        android:text="T"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_Y"
                        android:layout_width="33sp"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center"
                        android:ellipsize="marquee"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="y"
                        android:text="Y"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_U"
                        android:layout_width="33sp"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center_horizontal"
                        android:ellipsize="marquee"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="U"
                        android:text="U"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_I"
                        android:layout_width="33sp"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center_horizontal"
                        android:ellipsize="marquee"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="I"
                        android:text="I"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_O"
                        android:layout_width="33sp"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center_horizontal"
                        android:ellipsize="marquee"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="O"
                        android:text="O"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_P"
                        android:layout_width="33sp"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center_horizontal"
                        android:ellipsize="marquee"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="P"
                        android:text="P"
                        android:textColor="#000"
                        android:textStyle="bold" />
                </LinearLayout>
            </TableRow>

            <TableRow
                android:layout_width="fill_parent"
                android:layout_height="fill_parent" >

                <RelativeLayout
                    android:layout_width="fill_parent"
                    android:layout_height="45sp" >

                    <Button
                        android:id="@+id/btn_A"
                        android:layout_width="30sp"
                        android:layout_height="fill_parent"
                        android:layout_alignParentLeft="true"
                        android:layout_alignWithParentIfMissing="true"
                        android:layout_centerHorizontal="true"
                        android:layout_gravity="center_horizontal|center_vertical|center"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="A"
                        android:text="A"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_S"
                        android:layout_width="30sp"
                        android:layout_height="fill_parent"
                        android:layout_alignWithParentIfMissing="true"
                        android:layout_centerHorizontal="true"
                        android:layout_gravity="center_horizontal|center_vertical|center"
                        android:layout_toRightOf="@id/btn_A"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="S"
                        android:text="S"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_D"
                        android:layout_width="30sp"
                        android:layout_height="fill_parent"
                        android:layout_alignWithParentIfMissing="true"
                        android:layout_centerHorizontal="true"
                        android:layout_gravity="center_horizontal|center_vertical|center"
                        android:layout_toRightOf="@id/btn_S"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="D"
                        android:text="D"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_F"
                        android:layout_width="30sp"
                        android:layout_height="fill_parent"
                        android:layout_alignWithParentIfMissing="true"
                        android:layout_centerHorizontal="true"
                        android:layout_gravity="center_horizontal|center_vertical|center"
                        android:layout_toRightOf="@id/btn_D"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="F"
                        android:text="F"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_G"
                        android:layout_width="33sp"
                        android:layout_height="fill_parent"
                        android:layout_alignWithParentIfMissing="true"
                        android:layout_centerHorizontal="true"
                        android:layout_gravity="center_horizontal|center_vertical|center"
                        android:layout_toRightOf="@id/btn_F"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="G"
                        android:text="G"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_H"
                        android:layout_width="33sp"
                        android:layout_height="fill_parent"
                        android:layout_alignWithParentIfMissing="true"
                        android:layout_centerHorizontal="true"
                        android:layout_gravity="center_horizontal|center_vertical|center"
                        android:layout_toRightOf="@id/btn_G"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="H"
                        android:text="H"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_J"
                        android:layout_width="33sp"
                        android:layout_height="fill_parent"
                        android:layout_alignWithParentIfMissing="true"
                        android:layout_centerHorizontal="true"
                        android:layout_gravity="center_horizontal|center_vertical|center"
                        android:layout_toRightOf="@id/btn_H"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="J"
                        android:text="J"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_K"
                        android:layout_width="33sp"
                        android:layout_height="fill_parent"
                        android:layout_alignWithParentIfMissing="true"
                        android:layout_centerHorizontal="true"
                        android:layout_gravity="center_horizontal|center_vertical|center"
                        android:layout_toRightOf="@id/btn_J"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="K"
                        android:text="K"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_L"
                        android:layout_width="33sp"
                        android:layout_height="fill_parent"
                        android:layout_alignWithParentIfMissing="true"
                        android:layout_centerHorizontal="true"
                        android:layout_gravity="center_horizontal|center_vertical|center"
                        android:layout_toRightOf="@id/btn_K"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="L"
                        android:text="L"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_c"
                        android:layout_width="33sp"
                        android:layout_height="fill_parent"
                        android:layout_alignWithParentIfMissing="true"
                        android:layout_centerHorizontal="true"
                        android:layout_gravity="center_horizontal|center_vertical|center"
                        android:layout_toRightOf="@id/btn_L"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="ç"
                        android:text="ç"
                        android:textColor="#000"
                        android:textStyle="bold" />
                </RelativeLayout>
            </TableRow>

            <TableRow
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_gravity="fill_vertical"
                android:fitsSystemWindows="true"
                android:orientation="horizontal" >

                <LinearLayout
                    android:layout_width="fill_parent"
                    android:layout_height="45sp"
                    android:gravity="bottom"
                    android:orientation="horizontal" >

                    <Button
                        android:id="@+id/btn_a"
                        android:layout_width="30sp"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center_horizontal|center_vertical|center"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="à"
                        android:text="à"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_Z"
                        android:layout_width="30sp"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center_horizontal|center_vertical|center"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="Z"
                        android:text="Z"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_X"
                        android:layout_width="30sp"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center_horizontal|center_vertical|center"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="X"
                        android:text="X"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_C"
                        android:layout_width="30sp"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center_horizontal|center_vertical|center"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="C"
                        android:text="C"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_V"
                        android:layout_width="30sp"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center_horizontal|center_vertical|center"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="V"
                        android:text="V"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_B"
                        android:layout_width="33sp"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center_horizontal|center_vertical|center"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="B"
                        android:text="B"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_N"
                        android:layout_width="33sp"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center_horizontal|center_vertical|center"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="N"
                        android:text="N"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_M"
                        android:layout_width="33sp"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center_horizontal|center_vertical|center"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="M"
                        android:text="M"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_e"
                        android:layout_width="33sp"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center_horizontal|center_vertical|center"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="é"
                        android:text="é"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/xBack"
                        android:layout_width="33sp"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center_horizontal|center_vertical|center"
                        android:background="@drawable/back_high"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="back"
                        android:textColor="#000"
                        android:textStyle="bold" />
                </LinearLayout>
            </TableRow>

            <TableRow
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:fitsSystemWindows="true"
                android:orientation="horizontal" >

                <LinearLayout
                    android:layout_width="fill_parent"
                    android:layout_height="45sp"
                    android:gravity="bottom"
                    android:orientation="horizontal" >

                    <Button
                        android:id="@+id/xChange"
                        android:layout_width="wrap_content"
                        android:layout_height="fill_parent"
                        android:layout_gravity="right"
                        android:background="@drawable/change"
                        android:fitsSystemWindows="true"
                        android:paddingLeft="35sp"
                        android:soundEffectsEnabled="true"
                        android:tag="upper"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_e"
                        android:layout_width="33sp"
                        android:layout_height="fill_parent"
                        android:layout_gravity="right"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="è"
                        android:text="è"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/xSpace"
                        android:layout_width="75sp"
                        android:layout_height="fill_parent"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag=" "
                        android:text="|_____|"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_u"
                        android:layout_width="30sp"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center_horizontal|center_vertical|center"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="û"
                        android:text="û"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn_i"
                        android:layout_width="30sp"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center_horizontal|center_vertical|center"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="î"
                        android:text="î"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/xNum"
                        android:layout_width="wrap_content"
                        android:layout_height="fill_parent"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="num"
                        android:text="12#"
                        android:textColor="#000"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/xDone"
                        android:layout_width="40sp"
                        android:layout_height="fill_parent"
                        android:layout_gravity="right"
                        android:background="@drawable/hide_high"
                        android:fitsSystemWindows="true"
                        android:soundEffectsEnabled="true"
                        android:tag="done"
                        android:textColor="#000"
                        android:textStyle="bold" />
                </LinearLayout>
            </TableRow>
        </TableLayout>
    </TableLayout>

</RelativeLayout>

提前致谢

0 个答案:

没有答案