3

eclipseにsdkソフトキーボードをインポートし(APIバージョン16のサンプルコードですが、以前のバージョンも試しました)、デバイス(Galaxy Note 10.1、Galaxy S2、Galaxy Nexus)にインストールしました。いくつかのテストの後、奇妙な動作に気づきました。最上部のキーを押すと、キーボードは、実際に押した文字の上にある文字の提案を表示します。私の現在の研究では、ソフトキーボードを実装し、いくつかの機能を追加する必要があります。しかし、これらの機能には、正確なキーボードが必要です。

動作を確認し、修正方法について何か提案をいただけますか?

事前にどうもありがとうございました。

4

1 に答える 1

5

何時間も検索した後、私はついに私の問題の解決策を見つけました。

アンドロイドサンプルキーボードは、KeyboardViewStyleから継承するものを使用しますKeyboardView アンドロイドソースで私はの定義を見つけましたWidget.KeyboardView

<style name="Widget.KeyboardView" parent="android:Widget">
    <item name="android:background">@android:drawable/keyboard_background</item>
    <item name="android:keyBackground">@android:drawable/btn_keyboard_key</item>
    <item name="android:keyTextSize">22sp</item>
    <item name="android:keyTextColor">#FFFFFFFF</item>
    <item name="android:keyPreviewLayout">@android:layout/keyboard_key_preview</item>
    <item name="android:keyPreviewOffset">-12dip</item>
    <item name="android:keyPreviewHeight">80dip</item>
    <item name="android:labelTextSize">14sp</item>
    <item name="android:popupLayout">@android:layout/keyboard_popup_keyboard</item>
    <item name="android:verticalCorrection">-10dip</item>
    <item name="android:shadowColor">#BB000000</item>
    <item name="android:shadowRadius">2.75</item>
</style>

そこで私は次の行に気づきました:

<item name="android:verticalCorrection">-10dip</item>

私の問題を解決するために、私は次の方法を継承しWidget.KeyboardViewて上書きする独自のスタイルを定義しました。android:verticalCorrection

<style name="Widget.MyKeyboardView" parent="android:Widget.KeyboardView">
    <item name="android:verticalCorrection">0dip</item>
</style>

結局、私はそのスタイルをキーボードに適用しました。

etvoilà:)

于 2012-11-21T08:43:18.087 に答える