私は現在、別の言語(具体的にはヘブライ語)のキーボードを必要とするアプリに取り組んでいます。
問題は、どこから始めればいいのかわからないことです。ユーザーがアプリストアにアクセスして、自分のアプリを使用するためだけに、より多くの言語を含む別のアプリをインストールする必要はありません。
キーボードを自分のアプリでのみ使用できるようにしたい(つまり、特定のアプリ以外には何も影響しないようにする必要があります)。私が今行っている方法は、メインレイアウトの一部として作成し、ユーザーが[テキストの編集]をクリックするたびに表示されるようにすることです。
このアプローチの問題は、再調整するサイズを取得できないことです。私はもともと2つの異なるレイアウト(1つはres / layoutフォルダーにあり、もう1つはres / layout-lndフォルダーにあります)を使用しようとしましたが、これによりアプリでさまざまな問題が発生し、速度が低下しました。
私は2つのことを考えています。どちらも機能するはずです。
- キーボードを再調整するためのレイアウトをどのように作成しますか。
- キーボードを正しく作成するにはどうすればよいですか。
特にキーボードに関連して使用している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>`
これは、ポートレートとランドスケープで現在どのように見えるかの写真です。