Aztec: Native HTML -редактор для AndroidAZTEC (который расширяет EditText)-это компонент редактора богатого текста для написания документов HTML в Android.
Вы можете проверить минимальную версию Android, поддерживаемую, просмотрев конфигурацию minSdkVersion в build.gradle.


Объявите основные компоненты в вашем макете:
Визуальный редактор
< org .wordpress.aztec.AztecText
android : id = " @+id/visual "
android : layout_width = " match_parent "
android : layout_height = " match_parent "
android : scrollbars = " vertical "
android : imeOptions = " flagNoExtractUi "
aztec : historyEnable = " false " />Редактор источника
< org .wordpress.aztec.source.SourceViewEditText
android : id = " @+id/source "
android : layout_width = " match_parent "
android : layout_height = " match_parent "
android : inputType = " textNoSuggestions|textMultiLine "
android : scrollbars = " vertical "
android : imeOptions = " flagNoExtractUi "
aztec : codeBackgroundColor = " @android:color/transparent "
aztec : codeTextColor = " @android:color/white " />Панель инструментов
< org .wordpress.aztec.toolbar.AztecToolbar
android : id = " @+id/formatting_toolbar "
android : layout_width = " match_parent "
android : layout_height = " @dimen/format_bar_height "
android : layout_alignParentBottom = " true " />Надуть взгляды:
val visualEditor = findViewById< AztecText >( R .id.visual)
val sourceEditor = findViewById< SourceViewEditText >( R .id.source)
val toolbar = findViewById< AztecToolbar >( R .id.formatting_toolbar)Настройте Aztec с предоставленным изображением и видео загрузчиками:
Aztec . with (visualEditor, sourceEditor, toolbar, context)
.setImageGetter( GlideImageLoader (context))
.setVideoThumbnailGetter( GlideVideoThumbnailLoader (context))Для получения дополнительных вариантов, таких как редактирование истории, слушателей и плагинов, обратитесь к реализации демонстрации.
Создайте библиотеку, создайте пример проекта и запустите модульные тесты:
$ ./gradlew buildЗапустить только модульные тесты:
$ ./gradlew testEspresso рекомендует отключить системную анимацию на устройствах, используемых для тестирования:
На вашем устройстве, в разделе «Настройки»> «Параметры разработчика» отключите следующие 3 настройки:
- Шкала с анимацией окон
- Переходная анимация шкала
- Аниматорная шкала продолжительности
Один дополнительный шаг настройки также необходим для решения проблемы эспрессо с кликами (см. Предостережения ниже):
На вашем устройстве, в разделе «Настройки» -> Доступность -> Стройте и удерживайте задержку, установите задержку до Long .
Запустите испытания приборов:
$ ./gradlew cAT repositories {
maven { url " https://a8c-libs.s3.amazonaws.com/android " }
} dependencies {
api " org.wordpress:aztec:v1.6.2 "
}Смелые разработчики могут либо использовать проект в качестве распределения источников, либо повеселиться с последним моментальным снимком на своем собственном риске:
dependencies {
api " org.wordpress:aztec:trunk-{commit_sha1} "
// As an example, for '3f004c8c8cd4b53ab9748f42f373cf00a30e9d86' commit sha1, this would look like:
// api "org.wordpress:aztec:trunk-3f004c8c8cd4b53ab9748f42f373cf00a30e9d86"
}Вы можете использовать API для изменения поведения ацтека.
Если вы хотите ограничить функциональность, которую предоставляет библиотека Aztec, вы можете изменить его, вызывая метод setToolbarItems на AztecToolbar . В следующем примере будет включено только bold , plugins и элементы list в данном порядке.
aztecToolbar.setToolbarItems( ToolbarItems . BasicLayout ( ToolbarAction . BOLD , ToolbarItems . PLUGINS , ToolbarAction . LIST )) Вы можете установить новые элементы, которые не включены по умолчанию. ToolbarAction.CODE и ToolbarAction.PRE .
CODE представляет встроенный HTML -кодPRE представляет блок преформата (включая кодовый блок) Есть дополнительный тип списка, который вы можете включить в редакторе. В дополнение к упорядоченным и неупорядоченным спискам вы можете использовать task list . Список задач - это неупорядоченный список, который показывает и сохраняет флажки вместо пуль. Включите его, вызывая следующий метод.
aztecToolbar.enableTaskList()По умолчанию AZTEC допускает вложенные блоки. В некоторых случаях это не должно быть предпочтительным поведением. Есть возможность отключить вложенные блоки. При переключении этот редактор всегда будет добавлять носитель и горизонтальное правило после выбранного в настоящее время блока, а не в середине.
aztecText.addMediaAfterBlocks() Aztec теперь поддерживает заполнители, чтобы нарисовать представления, которые не поддержаны EditText и SAPNABLE API. Функциональность создает пролет в визуальном редакторе и привлекает к нему представление Android. Представление перемещается, когда пользователь меняет что -либо в редакторе и позволяет рисовать такие вещи, как видео, которые можно воспроизвести в редакторе. Чтобы использовать API, вы должны создать экземпляр PlaceholderManager и инициализировать его в своем вызове onCreate как это:
private lateinit var placeholderManager : PlaceholderManager
override fun onCreate ( savedInstanceState : Bundle ? ) {
placeholderManager = PlaceholderManager (visualEditor, findViewById( R .id.container_frame_layout))
aztec.addPlugin(placeholderManager)
aztec.addOnMediaDeletedListener(placeholderManager)
}
override fun onDestroy () {
placeholderManager.onDestroy()
} Вы можете создать пользовательский PlaceholderAdapter , чтобы подготовить и нарисовать свое представление. Вы можете проверить образцы ImageWithCaptionAdapter , который рисует простой вид Android с изображением и подписью. Тем не менее, вы можете реализовать такие вещи, как YouTube View или Video View с управлением воспроизведения. Не забудьте так, чтобы зарегистрировать свой PlaceholderAdapter
placeholderManager.registerAdapter( ImageWithCaptionAdapter ())После того, как вы инициализировали как менеджер, так и адаптер, вы можете использовать методы менеджера для вставки или удаления заполнителей.
placeholderManager.insertItem(adapterType, attributes)
placeholderManager.removeItem(predicate) Мы используем Ktlint для Linting Kotlin. Вы можете запустить ktlint, используя ./gradlew ktlint , и вы также можете запустить ./gradlew ktlintFormat для автоформатирования. В настоящее время плагин (например, Checkstyle) не имеет идеи.
Aztec - это проект с открытым исходным кодом, охватывающий общественную лицензию Mozilla. Версия 2.0.