Я хочу создать свои собственные настраиваемые элементы управления, кроме стандартных представлений/виджетов Android, включая View, ScrollBar, TextView, EditText,... И уже завершенные другие, но еще не TextView/EditText.
Два элемента управления взаимодействуют с программной клавиатурой в зависимости от фокуса или нет. Кроме того, вы можете набирать/редактировать текст элемента управления с помощью клавиатуры. Более сложная часть связана с управлением кареткой. Эти проблемы возникают из-за того, что элемент управления наследует View, а не TextView/EditText.
Вы можете спросить, почему я выбрал такой сложный путь, не используя стандартные и настраивая только часть из них? Это связано с одной фатальной проблемой: стандартный TextView/EditText не может поддерживать большие файлы (файлы размером несколько МБ) и отстает от них. Кроме того, некоторыми важными функциями-членами являются private
, а не protected
или public
. Поэтому мы не можем полностью настроить их так, как хотим.
Вот почему я создал одну специализированную программу просмотра/редактора текста, которая поддерживает большие файлы (даже более 100 МБ). Функция просмотра уже реализована и работает хорошо.
Теперь функция редактора осталась, и именно поэтому я здесь, чтобы попросить вас о помощи. Пожалуйста, дайте мне знать, какое решение является лучшим, и я был бы признателен, если бы вы могли предоставить несколько примеров кода.
Спасибо
P.S. Это то, что я сделал до сих пор.
TextView
расширяетView
и реализуетViewTreeObserver.OnPreDrawListener
. - person Kamran Ahmed   schedule 14.06.2017