Комментарии 16
На данном этапе проблем возникнуть не должно
Ага, конечно. Именно поэтому найти просто текстовый редактор, пользоваться которым не будет мучительно больно — это такая проблема.
А не получилось бы здесь использовать RecyclerView? Т.е. для каждого элемента списка свой маленький EditText.
Я применял такой способ просто для отображения огромных файлов без редактирования, ну и они были без стилизации. Всё вроде работало прекрасно без тормозов, по крайней мере скролл.
Да тоже подумал о курсоре. То что из коробки не получится использовать. Только самим реализовывать логику.
А как у вас сейчас производительностью с разными размерами файлов? 5000 строк, 15000 строк?
Открывал исходники TextView.java — подвисает только при первом открытии файла т.к большую строку сеттим, при редактировании/скроллинге всё норм. Но есть один нюанс — т.к спаны вычисляются в фоне, то при редактировании может быть задержка в отображении новых спанов. Ещё из очевидных минусов сильно раздражает TransactionTooLargeException, но о нём я хотел рассказать во второй части.
UPD: при открытии/закрытии клавиатуры тоже подлагивает, но не критично
Кстати, насчёт автодополнений и навигации — для пальце-ориентированного интерфейса подход с хоткеями, как на PC, работать не будет. В идеале нужно найти удобную альтернативу.
И ещё — чтобы автодополнение работало хорошо, придётся парсить код и выяснять типы переменных, чтобы не предлагать невалидные варианты. И было бы логично подсвечивать именно код, а не просто выделять ключевые слова и комментарии.
Основной затык сейчас — это софт который пишут люди которые вообще не знакомы с пользовательским опытом десктопа, которые не просто не готовы к тому что человек с полноценной клавиатурой будет с этим работать, но даже к таким простым вещам как tab, enter… Люди просто как-то формошлёпят по-быстрому даже не задумываясь, что полноценно этим пользоваться невозможно.
Да даже вёрстка часто превращается в тыкву, когда приложение запускаешь с полноценным монитором.
Мне дико не хватает приличного редактора кода… или даже не совсем редактора, скорее фронта для подключения к уже запущенному на основном ПК VSCode (т.е. по сути андроидовской имплементации Remote SSH к нему), чтобы не возить с собой ноутбук «на всякий пожарный». С классическим, заточенным под клаву/мышь/монитор UX.
Насчёт скролла — можно спанить немного больше, например по половине экрана выше и ниже видимых границ. И триггерить новый рендеринг при приближении видимой границе к границе отспаненого участка.
А ещё тут на Хабре где-то есть классная огромная статья от JetBrains про рендеринг редактора кода в IDEA
Почему бы не предоставить ссылку на репозиторий с кодом? Выглядит как интересный pet-проект, для тренировки скиллов и вроде не похоже на идею для стартапа, так к чему такая скрытность?
неплохо. правда стоит заметить, что офлайновых редакторов довольно много, а онлайновых мало. и ни один онлайн редактор не сравнится с инспектированием кода от того же web storm. поетому я решил двигаться в направлении онлайн редактора и писать его на javascript
Редактор кода на Android: часть 1