我正在尝试在我的应用程序中实现自定义软键盘。我可以在需要时弹出一个软键盘。但我无法浏览这个软键板。我正在研究一种将其视为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>
提前致谢