0

私はAndroidでカスタムキーボードを構築しています。

私のinput.xml:

<com.mykeyboard.MyKeyboardView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/keyboard"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true" 
    android:keyBackground="@drawable/keybg"
    />

すべてのキーの背景は同じです。今、私は1つのキーの背景を動的に変更しようとしています。これは可能ですか?

私のカスタムMyKeyboardViewのコードはここにあります:http: //pastebin.com/ZpLzZZUj

私のMyKeyboardServiceのコードはここにあります:http: //pastebin.com/HYPGFTfg

4

1 に答える 1

1

KeyboardViewから拡張したからといって、キーを簡単に選択して描画方法を変更できるわけではありません。

KeyboardViewのソース、特に678行目から始まるforループは、キーボードの描画がいかに複雑であるかを示しています。

できること:onDraw()メソッドをオーバーライドし、super.onDraw()を呼び出してから、必要なキーを取得して、このキーのみを再度描画します。何かを成し遂げるには、おそらく多くのカスタマイズと、おそらく元のコードの多くのコピーアンドペーストが必要です。

主な質問:この作業は本当に必要ですか?個人的には、有名なキーボードのルックアンドフィールを変更するアプリは必要ありません(実際のカスタムキーボードアプリでない限り:D)

于 2012-06-24T16:35:23.853 に答える