При разработке я руководствовался следующими соображениями:
- Сделать как можно проще, чтобы в проекте можно было разобраться 🙂 (и само-собой, не раздувать APK)
- Сделать масштабируемый каркас: потому что если бы это был реальный проект, то его скорее всего захочется прокачать до уровня редактора сториз
- Сделать максимально близко к ТЗ
Был использован MVVM подход, где всё взаимодействие между UI и моделью происходит через ViewModel+LiveData.
В вопросе LiveData vs RX выбрал первую, поскольку стремился использовать как можно более «нативные» инструменты. Но безусловно, такую же архитектуру можно повторить и на RX.
Был выделен модуль vkcanvas, который реализует базовый функционал размещения произвольных объектов на плоскости и их перетаскивания/удаления.
Основное его преимущество в том, что он довольно абстрагирован от содержания и позволяет легко расширить функционал. Например:
- Добавить несколько блоков с текстом, которые можно было бы перемещать/вращать/удалять как стикеры
- Создавать любые комбинации стилей текста (уже можно)
- Добавить объекты других типов (дата/погода/хештег/местоположение)
- Сделать видео-редактор, расположив на фоне видео вместо картинки
Немного об устройстве VKCanvas
Jack Editor Урок 81 как декомпилировать карту
В основе vkcanvas лежит сущность объекта (VKCanvasObject), которая отображается либо как View внутри VKCanvasView, либо рисуется как Bitmap на graphics.Canvas с помощью VKCanvasRenderer.
По-умочанию выделены 2 объекта: картинка и текст:
- VKCanvasBitmapObject
- VKCanvasText
В модуле vkeditor уже есть расширения базового VKCanvasBitmapObject: BackgroundObject https://coder.social/golovdinov/vk-editor» target=»_blank»]coder.social[/mask_link]
Saved searches
Use saved searches to filter your results more quickly
Cancel Create saved search
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window.
Reload to refresh your session.
golovdinov/vk-editor
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Switch branches/tags
Branches Tags
Could not load branches
Nothing to show
Could not load tags
Nothing to show
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Cancel Create
- Local
- Codespaces
HTTPS GitHub CLI
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more about the CLI.
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Осмотр программы VK[EDITOR]Взлом вконтакте
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
Latest commit message
Commit time
README.md
Подход к реализации
При разработке я руководствовался следующими соображениями:
- Сделать как можно проще, чтобы в проекте можно было разобраться 🙂 (и само-собой, не раздувать APK)
- Сделать масштабируемый каркас: потому что если бы это был реальный проект, то его скорее всего захочется прокачать до уровня редактора сториз
- Сделать максимально близко к ТЗ
Был использован MVVM подход, где всё взаимодействие между UI и моделью происходит через ViewModel+LiveData.
В вопросе LiveData vs RX выбрал первую, поскольку стремился использовать как можно более «нативные» инструменты. Но безусловно, такую же архитектуру можно повторить и на RX.
Был выделен модуль vkcanvas, который реализует базовый функционал размещения произвольных объектов на плоскости и их перетаскивания/удаления.
Основное его преимущество в том, что он довольно абстрагирован от содержания и позволяет легко расширить функционал. Например:
- Добавить несколько блоков с текстом, которые можно было бы перемещать/вращать/удалять как стикеры
- Создавать любые комбинации стилей текста (уже можно)
- Добавить объекты других типов (дата/погода/хештег/местоположение)
- Сделать видео-редактор, расположив на фоне видео вместо картинки
Немного об устройстве VKCanvas
В основе vkcanvas лежит сущность объекта (VKCanvasObject), которая отображается либо как View внутри VKCanvasView, либо рисуется как Bitmap на graphics.Canvas с помощью VKCanvasRenderer.
По-умочанию выделены 2 объекта: картинка и текст:
- VKCanvasBitmapObject
- VKCanvasText
В модуле vkeditor уже есть расширения базового VKCanvasBitmapObject: BackgroundObject https://github.com/golovdinov/vk-editor» target=»_blank»]github.com[/mask_link]
Создавать статьи в ВКонтакте стало удобнее
Функционал ВКонтакте пополняется, появилась конопка «Продолжить в редакторе».
29 March, 17:53
Вячеслав Киосе
Копирайтер
Перейти к редактированию объемного текста в формате статьи ВКонтакте теперь можно непосредственно из поля поста.
С недавнего времени в популярнейшей в Рунете социальной сети ВКонтакте появился новый функционал, появление которого ждали все. Функция «Редактирование статей» позволяет создавать и редактировать объемные тексты на стене или в сообществе. В блоге соцсети в конце января этого года появилась запись, в которой разработчики поделились радостной новостью с пользователями о появлении такой долгожданной возможности. Новый формат благотворно повлиял на продвижение групп, на индексацию контента в соцсети и в целом открыл большие возможности для продвижения.