2012-02-10 102 views
1

我期待創建一個自定義的EditText,其中輸入的每個字符應該位於其自己的單元格內(請參閱圖像)。Android自定義EditText

我最好的猜測是我需要爲EditText的各種狀態創建我自己的.png,它提供了矩形輪廓,然後擴展EditText的onDraw方法以繪製分隔相鄰字符的垂直線條。

我從未做過自定義視圖,而且我對Android手動繪圖知之甚少,因此需要一些指導。

我在正確的道路上嗎?

我怎樣才能確定有多高,並在什麼位置繪製垂直線?

什麼是吃oreo的最佳方法?

enter image description here

回答

3

這會是一個非常艱鉅的任務。只要看看TextView.onDraw()(你正在考慮覆蓋)。如果我是你,我會立刻改變了主意:)

相反,我會使用一個LinearLayout持有定製EditText的數組,但我不知道你在找什麼樣的互動性達到

最後,要測量您使用的文字Paint.getTextBounds()。何處繪製垂直分隔符取決於您的設計。如果你有固定數量的固定長度的單元格,你知道在哪裏,否則你需要測量文本

+0

這實際上只是其中一個「很好有」的功能,如果它很簡單做。我會提前知道EditText有多少字符容量,字符不會超出EditText的可見寬度。讓每個單元格作爲EditText都不足以滿足我不會提出的許多不同的理由。是否有任何方法可以將字符間隔開,以便在EditText的寬度上均勻分佈? – Allen 2012-02-11 06:17:57

+0

無我知道:(也許使用固定寬度的字體,但我不知道這種方法可靠性如何 – Raffaele 2012-02-11 08:41:48