TextView
(ve EditText
) kendi Moğol dikey komut dosyasını View
genişleterek sıfırdan yapıyorum. Yanıp sönen imlecin Android TextView
source code'da nasıl uygulandığını anlamaya çalışıyorum. Editor
class'un mEditor
örneğiyle ele alınmış gibi görünüyor.Android EditText (TextView) yanıp sönen imleci nasıl gösterir?
private void drawCursor(Canvas canvas, int cursorOffsetVertical) {
final boolean translate = cursorOffsetVertical != 0;
if (translate) canvas.translate(0, cursorOffsetVertical);
for (int i = 0; i < mCursorCount; i++) {
mCursorDrawable[i].draw(canvas);
}
if (translate) canvas.translate(0, -cursorOffsetVertical);
}
Görünüşe göre, imleç kendisi bazı tip bir Drawable
: yani sınıfta ben drawCursor
yöntemi bulundu.
Bu yüzden parçaları buluyorum, ancak ormanı ağaçların arasından göremiyorum. Bunu benden daha iyi anlayan biri, basit İngilizce'de, yanıp sönen imlecin nasıl çalıştığını söyleyebilir mi? İşte
Gerçekten anlamıyorum bazı özel noktalar şunlardır:- imlecin
TextView
(veyaEditText
) için ilişki,Layout
,Editor
veDrawable
. - İmleç her yanıp söndüğünde, tüm metin yeniden çiziliyor mu veya yalnızca imleç bölgesi mi?
Not: Sordum olarak
kabul cevap sorumu cevaplar. Ancak, herhangi bir şeyi daha detaylı açıklayan daha kanonik bir kişi ekleyebilirse farklı bir cevabı kabul etmekten memnuniyet duyarım.
hüner GitHub'dan bunun belirli kod hatları bağlamak için kendi başına bir değer! – Suragch