2011-07-16 120 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); 
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); 
    } 
} 

我還添加了android:imeOptions="flagNoExtractUi"到XML視圖。

+0

哇! 7年前我問過這個問題。我不再是一個Android開發者:D – mohamede1945

+1

答案也適用於其他用戶提出同樣的問題;-) – lenooh

+0

是的,當然,你只是想起了我曾經以爲我會成爲一名android開發者的舊時代,而不是iOS開發者:D – mohamede1945

相關問題