Aztec (which extends EditText) is a rich-text editor component for writing HTML documents in Android.
Supports Android 4.1+ (API 16 - Jelly Bean)
Declare the main components in your layout:
Visual editor
<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" />
Source editor
<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" />
Inflate the views:
val visualEditor = findViewById<AztecText>(R.id.visual)
val sourceEditor = findViewById<SourceViewEditText>(R.id.source)
val toolbar = findViewById<AztecToolbar>(R.id.formatting_toolbar)
Configure Aztec with a provided image & video loaders:
Aztec.with(visualEditor, sourceEditor, toolbar, context)
.setImageGetter(GlideImageLoader(context))
.setVideoThumbnailGetter(GlideVideoThumbnailLoader(context))
For more options, such as edit history, listeners and plugins please refer to the demo app implementation.
Build the library, build the example project and run unit tests:
$ ./gradlew build
Run unit tests only:
$ ./gradlew test
Espresso advises disabling system animations on devices used for testing:
On your device, under Settings->Developer options disable the following 3 settings:
- Window animation scale
- Transition animation scale
- Animator duration scale
One additional setup step is also required to handle an Espresso issue with clicks (see the caveats below):
On your device, under Settings -> Accessibility -> Touch & hold delay, set the delay to Long
.
Run the instrumentation tests:
$ ./gradlew cAT
You can import Aztec into your project using Jitpack:
repositories {
maven { url "https://jitpack.io" }
}
dependencies {
api ('com.github.wordpress-mobile.WordPress-Aztec-Android:aztec:v1.3.13')
}
Brave developers can either use the project as a source distribution or have fun with the latest snapshot at their own risk:
dependencies {
api ('com.github.wordpress-mobile.WordPress-Aztec-Android:aztec:develop-SNAPSHOT')
}
We use ktlint for Kotlin linting. You can run ktlint using ./gradlew ktlint
, and you can also run ./gradlew ktlintFormat
for auto-formatting. There is no IDEA plugin (like Checkstyle's) at this time.
- Spans, a Powerful Concept.
- Spanned, Android Reference Documentation.
- Aztec was inspired by Knife.
Aztec is an Open Source project covered by the GNU General Public License version 2.