Aztec: Editor HTML asli untuk AndroidAZTEC (yang meluas EditText) adalah komponen editor yang kaya untuk menulis dokumen HTML di Android.
Anda dapat memeriksa versi Android minimum yang didukung dengan melihat konfigurasi minSdkVersion di dalam build.gradle.


Nyatakan komponen utama dalam tata letak Anda:
Editor Visual
< 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 " />Editor Sumber
< 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 " />Toolbar
< 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 " />Mengembang pandangan:
val visualEditor = findViewById< AztecText >( R .id.visual)
val sourceEditor = findViewById< SourceViewEditText >( R .id.source)
val toolbar = findViewById< AztecToolbar >( R .id.formatting_toolbar)Konfigurasikan AZTEC dengan gambar & pemuat video yang disediakan:
Aztec . with (visualEditor, sourceEditor, toolbar, context)
.setImageGetter( GlideImageLoader (context))
.setVideoThumbnailGetter( GlideVideoThumbnailLoader (context))Untuk opsi lebih lanjut, seperti edit riwayat, pendengar dan plugin silakan merujuk ke implementasi aplikasi demo.
Bangun Perpustakaan, Bangun Contoh Proyek dan Jalankan Tes Unit:
$ ./gradlew buildJalankan tes unit saja:
$ ./gradlew testEspresso menyarankan menonaktifkan animasi sistem pada perangkat yang digunakan untuk pengujian:
Di perangkat Anda, di bawah Pengaturan-> Opsi Pengembang Nonaktifkan 3 Pengaturan berikut:
- Skala Animasi Jendela
- Skala Animasi Transisi
- Skala Durasi Animator
Satu langkah pengaturan tambahan juga diperlukan untuk menangani masalah espresso dengan klik (lihat peringatan di bawah):
Di perangkat Anda, di bawah Pengaturan -> Aksesibilitas -> Sentuh & Tahan Penundaan, atur penundaan ke Long .
Jalankan tes instrumentasi:
$ ./gradlew cAT repositories {
maven { url " https://a8c-libs.s3.amazonaws.com/android " }
} dependencies {
api " org.wordpress:aztec:v1.6.2 "
}Pengembang pemberani dapat menggunakan proyek sebagai distribusi sumber atau bersenang -senang dengan snapshot terbaru dengan risiko mereka sendiri:
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"
}Anda dapat menggunakan API untuk memodifikasi perilaku AZTEC.
Jika Anda ingin membatasi fungsionalitas yang disediakan oleh pustaka AZTEC, Anda dapat mengubahnya memanggil metode setToolbarItems di AztecToolbar . Contoh berikut hanya akan memungkinkan bold , plugins dan list item dalam urutan yang diberikan.
aztecToolbar.setToolbarItems( ToolbarItems . BasicLayout ( ToolbarAction . BOLD , ToolbarItems . PLUGINS , ToolbarAction . LIST )) Anda dapat mengatur item baru yang tidak diaktifkan secara default. ToolbarAction.CODE dan ToolbarAction.PRE .
CODE mewakili kode HTML inlinePRE mewakili blok preformat (termasuk blok kode) Ada jenis daftar opsional yang dapat Anda aktifkan di editor. Selain daftar yang dipesan dan tidak dipesan, Anda dapat menggunakan task list . Daftar tugas adalah daftar yang tidak dipesan yang menunjukkan dan menyimpan kotak centang, bukannya peluru. Aktifkan dengan memanggil metode berikut.
aztecToolbar.enableTaskList()Secara default Aztec memungkinkan blok bersarang. Dalam kasus tertentu ini tidak harus menjadi perilaku yang disukai. Ada opsi untuk menonaktifkan blok bersarang. Saat beralih, editor ini akan selalu menambahkan aturan media dan horizontal setelah blok yang saat ini dipilih, bukan di tengahnya.
aztecText.addMediaAfterBlocks() Aztec sekarang mendukung placeholder untuk menggambar pandangan yang tidak didukung secara alami oleh edittext dan spannable API. Fungsionalitas menciptakan rentang dalam editor visual dan menarik tampilan android di atasnya. Tampilannya dipindahkan ketika pengguna mengubah apa pun di editor dan memungkinkan Anda untuk menggambar hal -hal seperti video yang dapat diputar inline di editor. Untuk menggunakan API, Anda harus membuat instance PlaceholderManager dan menginisialisasi dalam panggilan onCreate Anda seperti ini:
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()
} Anda dapat membuat PlaceholderAdapter khusus untuk menyiapkan dan menggambar pandangan Anda. Anda dapat memeriksa sampel ImageWithCaptionAdapter yang menarik tampilan Android sederhana dengan gambar dan keterangan. Namun, Anda dapat menerapkan hal -hal seperti tampilan YouTube atau tampilan Video dengan kontrol pemutaran. Jangan lupa untuk mendaftarkan PlaceholderAdapter Anda seperti ini:
placeholderManager.registerAdapter( ImageWithCaptionAdapter ())Setelah Anda menginisialisasi manajer dan adaptor, Anda dapat menggunakan metode manajer untuk memasukkan atau menghapus placeholder.
placeholderManager.insertItem(adapterType, attributes)
placeholderManager.removeItem(predicate) Kami menggunakan Ktlint untuk Kotlin Linting. Anda dapat menjalankan ktlint menggunakan ./gradlew ktlint , dan Anda juga dapat menjalankan ./gradlew ktlintFormat untuk formating otomatis. Tidak ada plugin ide (seperti CheckStyle) saat ini.
Aztec adalah proyek open source yang dicakup oleh Mozilla Public License versi 2.0.