AZTEC: Native HTML -Editor für AndroidAZTEC (der EditText erweitert) ist eine Rich-Text-Editor-Komponente für das Schreiben von HTML-Dokumenten in Android.
Sie können die minimale Android -Version überprüfen, die unterstützt wird, indem Sie sich die minSdkVersion -Konfiguration innerhalb von Build.gradle ansehen.


Deklarieren Sie die Hauptkomponenten in Ihrem Layout:
Visueller Herausgeber
< 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 " />Quellredakteur
< 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 " />Symbolleiste
< 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 " />Aufblasen Sie die Ansichten:
val visualEditor = findViewById< AztecText >( R .id.visual)
val sourceEditor = findViewById< SourceViewEditText >( R .id.source)
val toolbar = findViewById< AztecToolbar >( R .id.formatting_toolbar)Konfigurieren Sie AZTEC mit einem bereitgestellten Bild- und Videoloader:
Aztec . with (visualEditor, sourceEditor, toolbar, context)
.setImageGetter( GlideImageLoader (context))
.setVideoThumbnailGetter( GlideVideoThumbnailLoader (context))Weitere Optionen wie Historie bearbeiten, Hörer und Plugins finden Sie in der Demo -App -Implementierung.
Erstellen Sie die Bibliothek, erstellen Sie das Beispielprojekt und führen Sie Unit -Tests aus:
$ ./gradlew buildFühren Sie nur Unit -Tests aus:
$ ./gradlew testEspresso empfiehlt, Systemanimationen auf Geräten zu deaktivieren, die zum Testen verwendet werden:
Unter Einstellungen-> Entwickleroptionen deaktivieren Sie auf Ihrem Gerät die folgenden 3 Einstellungen:
- Fensteranimationsskala
- Übergangsanimationsskala
- Animatordauerskala
Ein zusätzlicher Setup -Schritt ist auch erforderlich, um ein Espresso -Problem mit Klicks zu behandeln (siehe die folgenden Vorbehalte):
Auf Ihrem Gerät unter Einstellungen -> Barrierefreiheit -> Touch & Hold Delay, setzen Sie die Verzögerung auf Long .
Führen Sie die Instrumentierungstests aus:
$ ./gradlew cAT repositories {
maven { url " https://a8c-libs.s3.amazonaws.com/android " }
} dependencies {
api " org.wordpress:aztec:v1.6.2 "
}Braveentwickler können das Projekt entweder als Quellverteilung nutzen oder Spaß mit dem neuesten Schnappschuss auf eigenes Risiko haben:
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"
}Sie können die API verwenden, um das aztec -Verhalten zu ändern.
Wenn Sie die Funktionalität, die die AZTEC -Bibliothek bietet, einschränken möchten, können Sie sie ändern, wenn Sie die Methode setToolbarItems in AztecToolbar bezeichnen. Das folgende Beispiel aktiviert nur bold , plugins und list in der angegebenen Reihenfolge.
aztecToolbar.setToolbarItems( ToolbarItems . BasicLayout ( ToolbarAction . BOLD , ToolbarItems . PLUGINS , ToolbarAction . LIST )) Sie können neue Elemente festlegen, die standardmäßig nicht aktiviert sind. ToolbarAction.CODE und ToolbarAction.PRE .
CODE repräsentiert den Inline -HTML -CodePRE stellt einen Preformat -Block dar (einschließlich Codeblock) Es gibt einen optionalen Listentyp, den Sie im Editor aktivieren können. Zusätzlich zu bestellten und ungeordneten Listen können Sie task list verwenden. Eine Aufgabenliste ist eine nicht ordnungsgemäße Liste, die Kontrollkästchen anstelle der Kugeln angezeigt und speichert. Aktivieren Sie es, indem Sie die folgende Methode aufrufen.
aztecToolbar.enableTaskList()Standardmäßig erlaubt AZTEC verschachtelte Blöcke. In bestimmten Fällen muss dies nicht das bevorzugte Verhalten sein. Es besteht die Möglichkeit, verschachtelte Blöcke zu deaktivieren. Wenn dieser Editor nach dem aktuell ausgewählten Block immer Medien- und Horizontalregel hinzufügt, nicht in der Mitte.
aztecText.addMediaAfterBlocks() Aztec unterstützt jetzt die Platzhalter, Ansichten zu zeichnen, die nicht durch den EditText und die von Spannableable API unterstützt werden. Die Funktionalität erstellt eine Spanne im visuellen Editor und zeichnet eine Android -Ansicht darüber. Die Ansicht wird bewegt, wenn der Benutzer im Editor alles ändert und Sie Dinge wie Video zeichnen können, die im Editor inline gespielt werden können. Um die API zu verwenden, müssen Sie eine Instanz von PlaceholderManager erstellen und in Ihrem onCreate -Anruf wie folgt initialisieren:
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()
} Sie können einen benutzerdefinierten PlaceholderAdapter erstellen, um Ihre Ansicht vorzubereiten und zu zeichnen. Sie können das Beispielbild ImageWithCaptionAdapter einem Bild mit einem Bild und einer Bildunterschrift überprüfen, die eine einfache Android -Ansicht zeichnet. Sie können jedoch Dinge wie YouTube -Ansicht oder Video mit Wiedergabesteuerungen implementieren. Vergessen Sie nicht, Ihren PlaceholderAdapter wie folgt zu registrieren:
placeholderManager.registerAdapter( ImageWithCaptionAdapter ())Sobald Sie sowohl den Manager als auch den Adapter initialisiert haben, können Sie die Manager -Methoden verwenden, um Platzhalter einzufügen oder zu entfernen.
placeholderManager.insertItem(adapterType, attributes)
placeholderManager.removeItem(predicate) Wir verwenden KTLINT für die Kotlin -Lining. Sie können KTLINT mit ./gradlew ktlint ./gradlew ktlintFormat und auch ausführen. Zu diesem Zeitpunkt gibt es kein Achtel -Plugin (wie CheckStyle).
AZTEC ist ein Open -Source -Projekt, das von der Mozilla Public Lizenz Version 2.0 abgedeckt ist.