@@ -300,6 +300,8 @@ class BooleanParameterBuilder : ParameterBuilder<Boolean>() {
300300 * is clicked. Click listener to the icon will be set on if this is non-null.
301301 * @property onEndIconClick Function which will be used when the end icon is
302302 * clicked. Click listener to the icon will be set on if this is non-null.
303+ * @property showClearIcon Whether a Material clear-text (X) end icon should be
304+ * shown, allowing the user to empty the field in one tap.
303305 */
304306abstract class TextFieldParameter <T >(
305307 @StringRes name : Int ,
@@ -311,7 +313,8 @@ abstract class TextFieldParameter<T>(
311313 val inputType : Int? ,
312314 @StyleableRes val imeOptions : Int? ,
313315 val maxLines : Int? , tooltipTag : String? , constraints : List <ParameterConstraint >,
314- id : Int? , nameStr : String?
316+ id : Int? , nameStr : String? ,
317+ val showClearIcon : Boolean = false
315318) : Parameter<T>(name, description, default, tooltipTag, constraints, id, nameStr)
316319
317320abstract class TextFieldParameterBuilder <T >(
@@ -322,6 +325,7 @@ abstract class TextFieldParameterBuilder<T>(
322325 var inputType : Int? = null ,
323326 var imeOptions : Int? = null ,
324327 var maxLines : Int? = null ,
328+ var showClearIcon : Boolean = false ,
325329) : ParameterBuilder<T>()
326330
327331class StringParameter (
@@ -337,11 +341,12 @@ class StringParameter(
337341 tooltipTag : String? ,
338342 constraints : List <ParameterConstraint >,
339343 id : Int? ,
340- nameStr : String?
344+ nameStr : String? ,
345+ showClearIcon : Boolean = false
341346) : TextFieldParameter<String>(
342347 name, description, default, startIcon, endIcon,
343348 onStartIconClick, onEndIconClick, inputType, imeOptions, maxLines, tooltipTag, constraints,
344- id, nameStr
349+ id, nameStr, showClearIcon
345350)
346351
347352class StringParameterBuilder : TextFieldParameterBuilder <String >() {
@@ -361,7 +366,8 @@ class StringParameterBuilder : TextFieldParameterBuilder<String>() {
361366 tooltipTag = tooltipTag,
362367 constraints = constraints,
363368 id = id,
364- nameStr = nameStr
369+ nameStr = nameStr,
370+ showClearIcon = showClearIcon
365371 )
366372 }
367373}
@@ -438,6 +444,7 @@ inline fun projectNameParameter(
438444 name = string.project_app_name
439445 default = " My Application"
440446 startIcon = { R .drawable.ic_android }
447+ showClearIcon = true
441448 constraints = listOf (NONEMPTY )
442449 inputType =
443450 android.text.InputType .TYPE_CLASS_TEXT or android.text.InputType .TYPE_TEXT_FLAG_NO_SUGGESTIONS
0 commit comments