2

現在、タブレット(Android 3.2)でサンプルのSoftKeyboardを試しています。Google Mailアプリを開いて受信者フィールドにフォーカスを設定すると、テキストフィールドが展開され、キーボードの上の使用可能なスペースがいっぱいになります。 サンプルSoftKeyboardを使用したレイアウト

これは、ドキュメントの画面上の入力方法で説明されているフルスクリーンモードまたは抽出モードと非常によく似ています。私がそこに集めたものから、これはSoftKeyboardを使用するアクティビティによって設定されます。

私のバグは何ですか

  • これは、受信者の入力フィールドにはあまり便利ではありません(ただし、好みの問題かもしれません)
  • 以下に示すように、ストックソフトキーボードがこれを防ぐことができます。 ストックソフトキーボードを使用したレイアウト
  • また、入力ボックスのテキストの色が白に設定されている場合もあります(おそらく日中/夜間による調整がありますか?)。白地に白は多かれ少なかれ読めません。

だから私の質問は:例のSoftKeyboardで同様の動作をするために何を変更する必要がありますか?

ありがとう&すべての最高

アンドレアス

4

3 に答える 3

1

サンプルのソフト キーボードは非常に時代遅れです。Froyo/Eclair 以来見られなかったレイアウトを使用しています。

サンプルのソフト キーボードはまさにそれです。本格的な Android キーボードと混同しないでください。Android キーボードの完全な実装を探している場合は、AnySoftKeyboard のソース コードまたは AOSP ソース コードを調べてください。

フルスクリーンを取り除くために、問題の一部がonComputeInsets()機能にあることを私は知っています。私が言ったように、サンプルを機能させようとするのではなく、完全な Android キーボード (つまり AOSP または Cyanogenmod) に基づいてコードを作成します。私はそれを何ヶ月も試しましたが、遭遇する問題が多すぎます (マルチタッチとテーマ、ほんの数例を挙げると)。

ご不明な点がございましたら、メールでお問い合わせください。

于 2012-04-09T03:29:30.103 に答える
0

キーボードに表示したいものは何でも、ボタン、テキストビューを使用して、希望のソフトキーボード レイアウトを設計できます。

キーボードのすべてのボタンに onclickListener を設定します

このように onCreateInputView() をオーバーライドします

@Override 
public View onCreateInputView() {
     View   mInputView = getLayoutInflater().inflate(
                R.layout.yourkeyboardlayout, null);




            Button btn1 =   mInputView.findViewById(R.id.btn1);

            btn1 .setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                // append text in selected TextField

                String buttonLabel = ((Button)v).getText().toString();
                getCurrentInputConnection().commitText(buttonLabel, 1);


            }
        });



        return mInputView;
    }
于 2012-04-05T14:33:27.613 に答える