stackoverflow.com/questions/3988316/...

тоящее время я работаю над приложением, для которого требуется клавиатура на другом языке (особенно на иврите).

Проблема в том, что я не знаю, с чего начать. Я не хочу, чтобы пользователь заходил в магазин приложений и устанавливал отдельное приложение, в котором есть больше языков, чтобы использовать мое приложение.

Я только хочу, чтобы клавиатура была доступна в моем приложении (то есть она не должна влиять на что-либо вне моего конкретного приложения). Я делаю это прямо сейчас, создавая его как часть основного макета, и просто делаю его видимым, когда пользователь нажимает кнопку «Редактировать текст».

Проблема с этим подходом заключается в том, что я не могу изменить его размер. Первоначально я пытался использовать 2 разных макета (один в папке res / layout, а другой в папке 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="&lt;--"/>  
  <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>`

Вот изображение того, как оно выглядит сейчас в портретной и альбомной ориентации:

Ответы на вопрос(0)

Ваш ответ на вопрос