2013-10-16 28 views
4

嗨,我正在致力於Android軟鍵盤。通常標籤上顯示 鍵是單個字符如下圖所示顯示多行/多個字符作爲軟鍵盤按鍵上的按鍵標籤

enter image description here

上述一個通過只是用keylabel主要標籤的屬性在鍵盤 顯示我們想要的關鍵任何文本做。但現在我的要求就是顯示在單個鍵多個字符如下圖所示

enter image description here

我得到了一個解決這個使用安卓keyIcon,但限制是我需要的字符顏色要配置的,因此用戶可以更改任何角色的顏色。像1用紅色,|與藍色,q與綠色。所以它必須可以配置成任何顏色。這就是爲什麼我跳過keyIcon屬性來顯示字符上的文字。

所以有什麼方法可以在鍵上設置多個字符。

回答

1

android框架提供的標準KeyboardView不支持顯示輔助文本(或多個字符)。爲了實現你想要的功能,你需要繼承KeyboardView(或簡單的視圖)並實現它的方法並直接繪製到畫布上。

您可以檢查使用提示標籤實現的源代碼latinIME KeyboardView。 此外,您還需要編寫自己的解析器來解析鍵盤xml。你可以檢查here它是如何在LatinIME中完成的。

瞭解LatinIME中的完整包Keyboard將對您的要求非常有用。

+0

嗨@dinesh我已經實現了這些幫助,但沒有得到任何迴應,但是當我使用onDraw()時,我得到了一個例外.. – Aniket

+0

@Aniket:你得到了什麼異常?你也可以分享你已經實施的源代碼。 – dinesh

+0

感謝您的回覆,順便說一下,我的答案發布在您的答案下方,我發佈了我的異常http://stackoverflow.com/questions/19464703/soft-keyboard-getting-nullpointerexception-when-calling-canvas-drawtext – Aniket