मैं अपनी खुद की मंगोलियाई वर्टिकल स्क्रिप्ट TextView
(और EditText
) स्क्रैच से View
बढ़ाकर बना रहा हूं। मैं यह समझने की कोशिश कर रहा हूं कि Android TextView
source code में चमकते कर्सर को कैसे कार्यान्वित किया गया है। ऐसा लगता है कि mEditor
Editor
class के उदाहरण से संभाला जा रहा है।एंड्रॉइड एडिटटेक्स्ट (टेक्स्ट व्यू) ब्लिंकिंग कर्सर कैसे आकर्षित करता है?
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);
}
जाहिर है, कर्सर ही किसी प्रकार की एक Drawable
है: उस वर्ग में मैं एक drawCursor
विधि पाया।
तो मुझे टुकड़े मिल रहे हैं, लेकिन मैं पेड़ के माध्यम से जंगल नहीं देख सकता। क्या कोई ऐसा व्यक्ति जो मुझे इससे बेहतर समझता है, मुझे सादे अंग्रेजी में बता सकता है कि चमकते कर्सर कैसे काम करता है? TextView
(या EditText
) को
- कर्सर के रिश्ते,
Layout
,Editor
, औरDrawable
:यहाँ मैं वास्तव में समझ में नहीं आता कुछ विशेष बातें बताई गई हैं।
- हर बार कर्सर ब्लिंक हो जाता है, क्या सभी पाठ को फिर से खींचा जा रहा है या केवल कर्सर क्षेत्र है?
नोट:
स्वीकार किए जाते हैं जवाब मेरे सवाल का जवाब के रूप में मैं यह पूछा। हालांकि, अगर कोई और अधिक कैनोलिक जोड़ सकता है तो मुझे एक अलग जवाब स्वीकार करने में खुशी होगी जो चीजों को और विस्तार से बताता है।
चाल यह GitHub में विशिष्ट कोड लाइनों से जोड़ने के लिए अपने आप में एक उथल-पुथल लायक! – Suragch