2012-04-05 6 views
2

私は現在、タブレット(Android 3.2)のサンプルSoftKeyboardを試しています。 Googleメールアプリケーションを開いて、の受信者フィールドにフォーカスを設定すると、テキストフィールドが拡大されてキーボードの上の空き領域が埋まるようになります。 Layout with the sample SoftKeyboardなぜAndroidの例SoftKeyboardはこのようにレイアウトされていますか?

マニュアルにOnscreen Input Methodsで説明したようにこれは非常にフルスクリーンまたはエキスモードのように見えます。私がそこに集まったものから、これはSoftKeyboardを使用する活動によって設定されます。私は

  • は何のバグ

    (それは好みの問題かもしれませんが)これは、以下に示すように株式softkeyboardは、これを防ぐために管理している

  • 受信者の入力欄のために非常に便利ではありません。 Layout with the stock softkeyboard
  • また、入力ボックスのテキストカラーが白に設定されることもあります(昼間/夜間の調整の可能性があります)。白い白はほとんど見えない。

私の質問は次のとおりです。SoftKeyboardの例で同様の動作をするには、何を変更する必要がありますか?

おかげ&すべての最高

アンドレアス

+0

そのサンプルコードはかなりの間触れられていません...あなたは 'targetSdkVersion'を13と設定しようとしましたか? –

+0

はい、私は、マニフェストに 'android:minSdkVersion =" 11 "'と 'android:targetSdkVersion =" 13 "'を持っています。サイコロはありません。 – Nudelsuppe

答えて

1

サンプルソフトキーボードのようなキーボード

オーバーライドonCreateInputView()のすべてのボタンに

とsetOnclickListenerは非常に時代遅れである - それは見られなかったレイアウトを使用していますFroyo/Eclair以来。

サンプルのソフトキーボードは、サンプルです。完全なAndroidキーボードと混同しないでください。 Androidキーボードの完全な実装を探している場合は、AnySoftKeyboardのソースコードまたはAOSPソースコードをチェックしてください。

フルスクリーンを削除するには、問題の一部がonComputeInsets()機能にあることがわかります。私が言ったように、サンプルを稼働させるのではなく、完全なAndroidキーボード(つまり、AOSPまたはCyanogenmod)からコードを削除します。私は何ヶ月もそれを試しています。あなたには多すぎる問題があります(マルチタッチとテーマ、ちょうどカップルに名前をつける)。

質問がある場合は私に電子メールを送ってください。

0

あなたがキーボードの上に表示したいものは何でもボタン、のTextViewを使用して、ご希望のsoftkeyboardのレイアウトを設計することができます。この

@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; 
    } 
+0

申し訳ありませんが、それは私の質問に答えません。私はキーボード自体のレイアウトについては尋ねていませんでした。最初のスクリーンショットは、Gmailハニカムアプリで使用されたサンプルキーボードを示しています。テキストフィールドは、メールアプリケーションによって提供される受信者のテキストフィールドです。それはキーボードの一部ではありません。 2番目のスクリーンショットは全く同じ状況ですが、別のソフトキーボードを使用しています。 – Nudelsuppe

+0

[私のソフトキーボードのスクリーンショットを見るにはここをクリック](https://play.google.com/store/apps/details?id=com.clevertexting.chinese&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5jbGV2ZXJ0ZXh0aW5nLmNoaW5lc2UiXQ ..)スクリーンショットを見る私が開発したSofkeyboardのこれはカスタマイズされたSofkeyboardのためです。上記のようにsoftkeaboardのこの外観は達成されました、私は上記のように私の返信ポストで言及しました。 – Ravi1187342

+0

まず、問題を解決してくれてありがとう。唯一のことは、私があなたが投稿したコードが私の特定の問題に全く気づいていないことです。たとえば、Android 2.xで使用する場合など、ソフトキーボードの例が期待通りに機能するスクリーンショットを提供することもできます。私が知りたいのは、Android 3.x *上で実行されたときに、在庫Samsungまたは在庫Honeycomb softkeyboard *のように動作させるためにできることです。 – Nudelsuppe

関連する問題