Aztec: ตัวแก้ไข 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 testเอสเพรสโซ่แนะนำให้ปิดการใช้งานภาพเคลื่อนไหวของระบบบนอุปกรณ์ที่ใช้สำหรับการทดสอบ:
บนอุปกรณ์ของคุณภายใต้การตั้งค่า-> ตัวเลือกนักพัฒนาซอฟต์แวร์ปิดการใช้งาน 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
หากคุณต้องการ จำกัด ฟังก์ชันการทำงานที่ไลบรารี AZTEC ให้คุณสามารถเปลี่ยนวิธีการเรียกใช้วิธี setToolbarItems บน AztecToolbar ตัวอย่างต่อไปนี้จะเปิดใช้งานเฉพาะ bold , plugins และรายการใน list ที่กำหนด
aztecToolbar.setToolbarItems( ToolbarItems . BasicLayout ( ToolbarAction . BOLD , ToolbarItems . PLUGINS , ToolbarAction . LIST )) คุณสามารถตั้งค่ารายการใหม่ที่ไม่ได้เปิดใช้งานโดยค่าเริ่มต้น ToolbarAction.CODE และ ToolbarAction.PRE
CODE แสดงถึงรหัส HTML แบบอินไลน์PRE แสดงถึงบล็อก preformat (รวมถึงบล็อกรหัส) มีประเภทรายการเสริมที่คุณสามารถเปิดใช้งานได้ในตัวแก้ไข นอกเหนือจากรายการที่สั่งซื้อและไม่ได้เรียงลำดับแล้วคุณสามารถใช้ task list รายการงานเป็นรายการที่ไม่ได้เรียงลำดับซึ่งแสดงและบันทึกช่องทำเครื่องหมายแทนกระสุน เปิดใช้งานโดยการเรียกวิธีการต่อไปนี้
aztecToolbar.enableTaskList()โดยค่าเริ่มต้น Aztec อนุญาตให้บล็อกซ้อนกัน ในบางกรณีสิ่งนี้ไม่จำเป็นต้องเป็นพฤติกรรมที่ต้องการ มีตัวเลือกในการปิดการใช้งานบล็อกที่ซ้อนกัน เมื่อเปลี่ยนแล้วตัวแก้ไขนี้จะเพิ่มสื่อและกฎแนวนอนเสมอหลังจากบล็อกที่เลือกในปัจจุบันไม่ใช่ตรงกลาง
aztecText.addMediaAfterBlocks() ตอนนี้ Aztec รองรับตัวยึดตำแหน่งในการวาดมุมมองซึ่งไม่ได้รับการสนับสนุนโดย EditText และ 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 หรือมุมมอง Video ด้วยการควบคุมการเล่น อย่าลืมลงทะเบียน PlaceholderAdapter ของคุณเช่นนี้:
placeholderManager.registerAdapter( ImageWithCaptionAdapter ())เมื่อคุณเริ่มต้นทั้งผู้จัดการและอะแดปเตอร์คุณสามารถใช้วิธีการจัดการเพื่อแทรกหรือลบตัวยึดตำแหน่ง
placeholderManager.insertItem(adapterType, attributes)
placeholderManager.removeItem(predicate) เราใช้ ktlint สำหรับ kotlin linting คุณสามารถเรียกใช้ ktlint โดยใช้ ./gradlew ktlint และคุณยังสามารถเรียกใช้ ./gradlew ktlintFormat สำหรับการจัดรูปแบบอัตโนมัติ ไม่มีปลั๊กอินความคิด (เช่น CheckStyle) ในเวลานี้
Aztec เป็นโครงการโอเพ่นซอร์สที่ครอบคลุมโดย Mozilla Public License Version 2.0