Skip to main content
PESDK/Android/Guides/Text Design

Configure Text Design

PhotoEditor SDK supports several configuration options for the TextDesignToolPanel allowing flexible adaptation to different needs and use cases.

Set available colors#

The default color palette provides multiple colors. For this example, we only provide a small selection of colors.

Set allowed actions#

The quickOptionList contains all the actions that users can perform on a text design. It also contains SpaceItems that are used to space out the actions. In our example, we remove the last three elements of the list, thus removing the undo and redo actions essentially.

class PhotoTextDesignConfiguration(private val activity: AppCompatActivity) : Example(activity) {
override fun invoke() {
// In this example, we do not need access to the Uri(s) after the editor is closed
// so we pass false in the constructor
val settingsList = PhotoEditorSettingsList(false)
// Set the source as the Uri of the image to be loaded
.configure<LoadSettings> {
it.source = activity.resourceUri(
settingsList.configure<UiConfigTextDesign> { textDesignConfig ->
// By default the editor provides a variety of different colors to customize the color of the text design
// For this example only a small selection of colors is enabled
ColorItem(, ColorAsset(-0x1)),
ColorItem(, ColorAsset(-0x1000000))
// By default the editor has all available overlay actions for this tool enabled
// For this example the last 3 items (space, undo, redo) are removed
repeat(3) {
// Start the photo editor using PhotoEditorBuilder
// The result will be obtained in onActivityResult() corresponding to EDITOR_REQUEST_CODE
.startActivityForResult(activity, EDITOR_REQUEST_CODE)
// Release the SettingsList once done
override fun onActivityResult(requestCode: Int, resultCode: Int, intent: Intent?) {
intent ?: return
if (requestCode == EDITOR_REQUEST_CODE) {
// Wrap the intent into an EditorSDKResult
val result = EditorSDKResult(intent)
when (result.resultStatus) {
EditorSDKResult.Status.CANCELED -> showMessage("Editor cancelled")
EditorSDKResult.Status.EXPORT_DONE -> showMessage("Result saved at ${result.resultUri}")
else -> {