2011-10-14 69 views
17

創建自己的SoftKeyboard時,默認情況下會給出「按鍵預覽」。如何禁用SoftKeyboard鍵預覽窗口?

enter image description here enter image description here

你如何禁用此?

編輯:

您可以通過改變<KeyboardView>屬性android:keyPreviewLayout定製keyPreview佈局。這是默認風格看keyboard_key_preview.xml

編輯2:繼我是一個紅色的鯡魚:

的源代碼表明供應0或不適用的標籤android:keyPreviewLayout將導致無鍵預覽出現:

... 
    case com.android.internal.R.styleable.KeyboardView_keyPreviewLayout: 
     previewLayout = a.getResourceId(attr, 0); 
     break; 
    ... 
    if (previewLayout != 0) { 
     mPreviewText = (TextView) inflate.inflate(previewLayout, null); 
     mPreviewTextSizeLarge = (int) mPreviewText.getTextSize(); 
     mPreviewPopup.setContentView(mPreviewText); 
     mPreviewPopup.setBackgroundDrawable(null); 
    } else { 
     mShowPreview = false; 
    } 

我已經試過:

  • 一個沒有keyPreviewLayout的風格的KeyboardView(奇怪的是,雖然替換這個值改變了預覽的風格。)
  • 我做了一個keyPreviewLayout引用一個值爲0(導致通貨膨脹崩潰)的id。

不知所措。 :(任何幫助將不勝感激

回答

15

有一個方法:

public void setPreviewEnabled(boolean previewEnabled) 

但我不知道,開始在API的版本。

+1

它從API版本3開始 – Axarydax

+0

這是在KeyboardView對象上實現的。查看javadoc https://developer.android.com/reference/android/inputmethodservice – fishjd

0

你有沒有試過這樣:!

public static mEmptyView; 

//somewhere where you have the context: 
mEmptyView = new View(context); 

@Override public View onCreateCandidatesView() { 
    return mEmptyView; 
} 

這基本上總是會返回一個空的觀點,當考生應顯示

+0

此停止整個軟鍵盤出現。我一直在返回'null'作爲標準:[InputMethodService.onCreateCandidatesView()](http://developer.android.com/reference/android/inputmethodservice/InputMethodService.html#onCreateCandidatesView()) – Graeme

+2

此外,通常建議您從不將視圖的靜態成員保存爲一個視圖將保留對其祖先的引用,並且可以很快地建立內存泄漏。 – Graeme

+0

是的,最好在方法中創建一個...我也這麼想過。垃圾收集器還有更多的工作要做,但是比內存泄漏更好的垃圾收集^^ –

0

另一種方式 - 添加爲xml
機器人:keyPreviewLayout = 「@空」

<android.inputmethodservice.KeyboardView 
    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:keyPreviewLayout="@null" 
    android:visibility="gone" 
    /> 
+0

應用程序崩潰與空指針異常 – Abk