我想顯示一個自定義輸入字段(具體來說,一個只包含9-0和兩個額外的按鈕,包含小數點(或。)和刪除按鈕)。輸入字段與自定義輸入法
我可以創建一個自定義IME,但是(據我所知)必須由用戶將其設置爲系統範圍的輸入方法。有沒有一種方法來實現輸入法並將其綁定到特定的輸入字段?
感謝您的幫助!
我想顯示一個自定義輸入字段(具體來說,一個只包含9-0和兩個額外的按鈕,包含小數點(或。)和刪除按鈕)。輸入字段與自定義輸入法
我可以創建一個自定義IME,但是(據我所知)必須由用戶將其設置爲系統範圍的輸入方法。有沒有一種方法來實現輸入法並將其綁定到特定的輸入字段?
感謝您的幫助!
我認爲你是正確的,你不能擁有一個自定義輸入法,你只能用於你的應用程序的特定領域。它將在全球範圍內由用戶打開。
不管你做什麼,都要確保你有一個合適的InputFilter
去與任何自定義輸入法,你必須限制硬件鍵盤的輸入。
正如你已經設置了android:inputType
這個字段,它會自動添加一個合適的InputFilter
,它也將tell whatever IME is selected to display appropriate input buttons。對於默認的Android輸入法都這樣做是顯示數字頁而不是字母頁面第一:
怎麼樣使用自定義各種在您的應用程序實現了onClick()
或onTouch()
「彈出」監聽輸入框,以便當用戶單擊輸入字段輸入值時,他們將看到一個新的簡單活動,並按照@Dave Webb所建議的輸入方法重寫。理論上不應該是太多的代碼或開銷。
這就是我最終做的...... – LambergaR
@LambergaR我有同樣的問題,我沒有實現InputMethodService(基本上是自定義鍵盤),但現在的問題是,如何在用戶點擊EditText時顯示它... (無論採用哪種方式)您是否設法弄清楚了這一點? – AgentKnopf
@AgentKnopf你可以從webview中檢查hitresult(),它將返回edittext類型。 – debonair
我通過在.xml文件中設置android:inputType =「numberDecimal」選項完成了相同的操作。問題是,你會看到兩行字母和只有一行小數字 - 這可能會嚴重影響用戶體驗。所以,我真的很希望用戶只能看到數字,分隔符和某種刪除按鈕,與80年代的所有計算器相同:) – LambergaR
我明白了你的觀點。在這種情況下,爲什麼不在GridLayout中添加一些按鈕並禁用默認的屏幕鍵盤。這看起來更像是一個老派的計算器。 –
這基本上就是我所做的(我正在用按鈕播種覆蓋)。但是,由於頁面上不只有一個輸入框,因此當用戶將焦點放在字段上時,擺脫該步驟將很好,並且「簡單地」顯示另一個SiftInput王。 – LambergaR