2011-07-16 21 views
1

アクティビティの起動時に、バーチャルキーボードを強制的にランドスケープモードで表示できますか?このキーボードは画面全体を満たしていないので、キーボードの上にいくつかのビューを表示することができます。キーボードを強制的にランドスケープモードで表示できますか?

+0

"このキーボードは画面全体を満たしていないので、キーボードの上にいくつかのビューを表示することができます。あなたはこれを支配していません、ごめんなさい。 – CommonsWare

+0

なぜですか?私は私の携帯電話のデフォルトのブラウザでこの正確な動作を見ることができます。 – mohamede1945

+0

すべてのデバイスのすべてのIMEが 'flagNoFullscreen'をサポートするという保証はありません。 'flagNoFullscreen'が動作することを前提としたアプリケーションを設計しないでください。 – CommonsWare

答えて

0

ハードキーボードのあるデバイスでは、ソフトキーボードを横向きモードで表示するように強制しているようですね。

私たちは、次のコードでこれを行うことができます。

InputMethodManager input = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
if(input != null) 
    input.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT); 
1

がここに同様の質問に私の答えを参照してください: How to open only half keyboard in Landscape mode?

を解決するために。

xmlにandroid:imeOptions="flagNoExtractUi"というアトリビュートを導入して、求めるエフェクトを生成する必要があります。

0

これは私のために働いた唯一の組み合わせです:

private void hideKeyboard() { 
    InputMethodManager imm = (InputMethodManager) this.getSystemService(Context.INPUT_METHOD_SERVICE); 
    View view = this.getCurrentFocus(); 
    if (view != null && imm != null) { 
     imm.hideSoftInputFromWindow(view.getWindowToken(), 0); 
    } 
} 

し、それを表示する:

private void showKeyboard(View view){ 
    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
    if (imm != null) { 
     imm.showSoftInput(view, 0); 
    } 
} 

私はまた、XMLのビューにandroid:imeOptions="flagNoExtractUi"を追加しました。

+0

WOW!私はその質問を7年前に尋ねました。私はもはやAndroidの開発者ではありません:D – mohamede1945

+1

答えは同じ質問の他のユーザーのためです;-) – lenooh

+0

確かに、あなたはちょうど私がアンドロイドの開発者になると思った昔のことを思い出しました。代わりにiOS開発者:D – mohamede1945

関連する問題