我目前正在开发一款需要使用其他语言键盘的应用程序(特别是希伯来语)。
问题在于我不知道从哪里开始。我不希望用户必须进入应用程序商店,并安装一个单独的应用程序,其中包含更多语言,只是为了使用我的应用程序。
我只希望键盘在我的应用程序中可用(即它不应该影响我的特定应用程序之外的任何内容)。我现在这样做的方法是将其创建为主要布局的一部分,并且只要用户单击“编辑文本”,就可以使其显示。
这种方法的问题是我无法调整它的大小。我最初尝试使用2种不同的布局(一种在res / layout文件夹中,另一种在res / layout-lnd文件夹中),但这会在我的应用程序中引起不同的问题,使其变慢。
我想知道两件事,其中任何一件都应该有用。
以下是我使用的与键盘有关的XML代码:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:visibility="gone"
android:background="@color/puzzle_dark"
android:id="@+id/hebrwKeyboardView"
android:layout_width="fill_parent"
android:layout_height="146dip"
android:layout_gravity="right|center_vertical|center_horizontal|bottom"
android:fitsSystemWindows="true"
android:clipChildren="false"
android:orientation="vertical" >
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="145dip"
android:clipChildren="false"
android:layout_gravity="center_vertical|center_horizontal|bottom"
android:fitsSystemWindows="true"
android:orientation="horizontal" >
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="145dip"
android:clipChildren="false"
android:layout_gravity="center_vertical|center_horizontal|bottom"
android:fitsSystemWindows="true"
android:orientation="vertical" >
<TableRow android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_horizontal|center_vertical|center"
android:fitsSystemWindows="true"
android:clipChildren="false"
android:orientation="horizontal"
android:stretchColumns="true">
<LinearLayout
android:baselineAligned="true"
android:layout_width="fill_parent"
android:layout_gravity="center"
android:layout_height="fill_parent"
android:fitsSystemWindows="true"
android:clipChildren="false"
android:orientation="horizontal">
<Button
android:id="@+id/KoofButton"
android:layout_width="wrap_content"
android:layout_height="35dip"
android:text="@string/Koof"
android:layout_gravity="center"
android:fitsSystemWindows="true"
android:ellipsize="marquee"/>
<Button
android:soundEffectsEnabled="true"
android:id="@+id/raishButton"
android:layout_width="wrap_content"
android:layout_height="35dip"
android:text="@string/Raish"
android:layout_gravity="center_horizontal"
android:fitsSystemWindows="true"
android:ellipsize="marquee"/>
<Button
android:soundEffectsEnabled="true"
android:id="@+id/alephButton"
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="35dip"
android:text="@string/Alef"
android:fitsSystemWindows="true"
android:ellipsize="marquee"/>
<Button
android:soundEffectsEnabled="true"
android:id="@+id/tetButton"
android:layout_width="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_height="35dip"
android:text="@string/Tet"
android:fitsSystemWindows="true"
android:ellipsize="marquee"/>
<Button
android:soundEffectsEnabled="true"
android:id="@+id/vuvButton"
android:layout_width="wrap_content"
android:layout_height="35dip"
android:layout_gravity="center_horizontal"
android:text="@string/Vuv"
android:fitsSystemWindows="true"
android:ellipsize="marquee"/>
<Button
android:soundEffectsEnabled="true"
android:id="@+id/nunSophitButton"
android:layout_width="wrap_content"
android:layout_height="35dip"
android:layout_gravity="center_horizontal"
android:text="@string/NunSofit"
android:fitsSystemWindows="true"
android:gravity="fill"
android:ellipsize="marquee"/>
<Button
android:soundEffectsEnabled="true"
android:id="@+id/memSofitButton"
android:layout_width="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_height="35dip"
android:text="@string/MemSofit"
android:fitsSystemWindows="true"
android:ellipsize="marquee"/>
<Button
android:soundEffectsEnabled="true"
android:id="@+id/payButton"
android:layout_width="wrap_content"
android:layout_height="35dip"
android:text="@string/Pay"
android:fitsSystemWindows="true"
android:layout_gravity="center_horizontal"
android:ellipsize="marquee"/>
</LinearLayout>
</TableRow>
<TableRow android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clipChildren="true"
android:layout_gravity="center_horizontal|center_vertical|center"
android:fitsSystemWindows="true"
android:orientation="horizontal">
<RelativeLayout android:layout_width="fill_parent"
android:clipChildren="true"
android:layout_height="fill_parent"
android:layout_gravity="center_horizontal|center"
android:gravity="bottom"
android:orientation="horizontal">
<Button
android:layout_alignWithParentIfMissing="true"
android:soundEffectsEnabled="true"
android:id="@+id/shinButton"
android:layout_width="wrap_content"
android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal|center_vertical|center"
android:layout_height="35dip"
android:text="@string/Shin"
android:layout_alignParentLeft="true"
android:fitsSystemWindows="true"
/>
<Button
android:layout_centerHorizontal="true"
android:soundEffectsEnabled="true"
android:layout_toRightOf="@id/shinButton"
android:id="@+id/dalidButton"
android:layout_width="wrap_content"
android:layout_gravity="center_horizontal|center_vertical|center"
android:layout_height="35dip"
android:text="@string/Dalid"
android:layout_alignWithParentIfMissing="true"
android:fitsSystemWindows="true"
/>
<Button
android:layout_alignWithParentIfMissing="true"
android:layout_centerHorizontal="true"
android:soundEffectsEnabled="true"
android:id="@+id/gimleButton"
android:layout_toRightOf="@id/dalidButton"
android:layout_width="wrap_content"
android:layout_gravity="center_horizontal|center_vertical|center"
android:layout_height="35dip"
android:text="@string/Gimle"
android:fitsSystemWindows="true"
/>
<Button
android:layout_alignWithParentIfMissing="true"
android:layout_centerHorizontal="true"
android:soundEffectsEnabled="true"
android:id="@+id/chufButton"
android:layout_toRightOf="@id/gimleButton"
android:layout_width="wrap_content"
android:layout_gravity="center_horizontal|center_vertical|center"
android:layout_height="35dip"
android:text="@string/Chuf"
android:fitsSystemWindows="true"
/>
<Button
android:layout_alignWithParentIfMissing="true"
android:layout_centerHorizontal="true"
android:soundEffectsEnabled="true"
android:id="@+id/ieyinButton"
android:layout_toRightOf="@id/chufButton"
android:layout_width="wrap_content"
android:layout_height="35dip"
android:layout_gravity="center_horizontal|center_vertical|center"
android:text="@string/Ieyin"
android:fitsSystemWindows="true"
/>
<Button
android:layout_alignWithParentIfMissing="true"
android:layout_centerHorizontal="true"
android:soundEffectsEnabled="true"
android:id="@+id/yudButton"
android:layout_toRightOf="@id/ieyinButton"
android:layout_width="wrap_content"
android:layout_height="35dip"
android:layout_gravity="center_horizontal|center_vertical|center"
android:text="@string/Yud"
android:fitsSystemWindows="true"
/>
<Button
android:layout_alignWithParentIfMissing="true"
android:layout_centerHorizontal="true"
android:soundEffectsEnabled="true"
android:id="@+id/chetButton"
android:layout_toRightOf="@id/yudButton"
android:layout_width="wrap_content"
android:layout_height="35dip"
android:layout_gravity="center_horizontal|center_vertical|center"
android:text="@string/Chet"
android:fitsSystemWindows="true"
/>
<Button
android:layout_alignWithParentIfMissing="true"
android:layout_centerHorizontal="true"
android:soundEffectsEnabled="true"
android:id="@+id/lamidButton"
android:layout_toRightOf="@id/chetButton"
android:layout_width="wrap_content"
android:layout_height="35dip"
android:layout_gravity="center_horizontal|center_vertical|center"
android:text="@string/Lamid"
android:fitsSystemWindows="true"
/>
<Button
android:layout_alignWithParentIfMissing="true"
android:layout_centerHorizontal="true"
android:soundEffectsEnabled="true"
android:id="@+id/chufSofitButton"
android:layout_toRightOf="@id/lamidButton"
android:layout_width="wrap_content"
android:layout_height="35dip"
android:layout_gravity="center_horizontal|center_vertical|center"
android:text="@string/ChufSofit"
android:fitsSystemWindows="true"
/>
<Button
android:layout_alignWithParentIfMissing="true"
android:layout_centerHorizontal="true"
android:soundEffectsEnabled="true"
android:id="@+id/paySofitButton"
android:layout_toRightOf="@id/chufSofitButton"
android:layout_width="wrap_content"
android:layout_height="35dip"
android:layout_gravity="center_horizontal|center_vertical|center"
android:text="@string/PaySofit"
android:fitsSystemWindows="true"
/>
</RelativeLayout>
</TableRow>
<TableRow android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_horizontal|center_vertical|center"
android:fitsSystemWindows="true"
android:orientation="horizontal">
<LinearLayout android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_horizontal|center"
android:gravity="bottom"
android:orientation="horizontal">
<Button
android:soundEffectsEnabled="true"
android:id="@+id/zionButton"
android:layout_width="wrap_content"
android:layout_gravity="center_horizontal|center_vertical|center"
android:layout_height="35dip"
android:text="@string/Zion"
android:fitsSystemWindows="true"
/>
<Button
android:soundEffectsEnabled="true"
android:id="@+id/samichButton"
android:layout_width="wrap_content"
android:layout_gravity="center_horizontal|center_vertical|center"
android:layout_height="35dip"
android:text="@string/Samich"
android:fitsSystemWindows="true"
/>
<Button
android:soundEffectsEnabled="true"
android:id="@+id/betButton"
android:layout_width="wrap_content"
android:layout_gravity="center_horizontal|center_vertical|center"
android:layout_height="35dip"
android:text="@string/Bet"
android:fitsSystemWindows="true"
/>
<Button
android:soundEffectsEnabled="true"
android:id="@+id/heyButton"
android:layout_width="wrap_content"
android:layout_gravity="center_horizontal|center_vertical|center"
android:layout_height="35dip"
android:text="@string/Hey"
android:fitsSystemWindows="true"
/>
<Button
android:soundEffectsEnabled="true"
android:id="@+id/nunButton"
android:layout_width="wrap_content"
android:layout_height="35dip"
android:layout_gravity="center_horizontal|center_vertical|center"
android:text="@string/Nun"
android:fitsSystemWindows="true"
/>
<Button
android:soundEffectsEnabled="true"
android:id="@+id/memButton"
android:layout_width="wrap_content"
android:layout_height="35dip"
android:layout_gravity="center_horizontal|center_vertical|center"
android:text="@string/Mem"
android:fitsSystemWindows="true"
/>
<Button
android:soundEffectsEnabled="true"
android:id="@+id/tzadiButton"
android:layout_width="wrap_content"
android:layout_height="35dip"
android:layout_gravity="center_horizontal|center_vertical|center"
android:text="@string/Tzadi"
android:fitsSystemWindows="true"
/>
<Button
android:soundEffectsEnabled="true"
android:id="@+id/tuffButton"
android:layout_width="wrap_content"
android:layout_height="35dip"
android:layout_gravity="center_horizontal|center_vertical|center"
android:text="@string/Tuff"
android:fitsSystemWindows="true"
/>
<Button
android:soundEffectsEnabled="true"
android:id="@+id/tzadiSofitButton"
android:layout_width="wrap_content"
android:layout_height="35dip"
android:layout_gravity="center_horizontal|center_vertical|center"
android:text="@string/TzadiSofit"
android:fitsSystemWindows="true"
/>
</LinearLayout>
</TableRow>
<TableRow android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_horizontal|center_vertical|center"
android:fitsSystemWindows="true"
android:orientation="horizontal">
<LinearLayout android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_horizontal|center"
android:gravity="bottom"
android:orientation="horizontal">
<Button
android:soundEffectsEnabled="true"
android:id="@+id/hebrewBackButton"
android:layout_width="wrap_content"
android:layout_height="35dip"
android:layout_gravity="right"
android:fitsSystemWindows="true"
android:text="<--"/>
<Button
android:soundEffectsEnabled="true"
android:id="@+id/hebrewSpaceButton"
android:layout_width="150dip"
android:layout_height="35dip"
android:layout_gravity="center_horizontal|center_vertical|center"
android:text=""
android:fitsSystemWindows="true"
/>
<Button
android:soundEffectsEnabled="true"
android:id="@+id/hebrewDoneButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="Done"
android:fitsSystemWindows="true"
/>
</LinearLayout>
</TableRow>
</TableLayout>
</TableLayout>
</FrameLayout>`
这是一幅关于它在肖像和风景中的样子的图片: