Class YotiEditText

  • All Implemented Interfaces:
    android.graphics.drawable.Drawable.Callback, android.view.accessibility.AccessibilityEventSource, android.view.KeyEvent.Callback, android.view.ViewManager, android.view.ViewParent

    public class YotiEditText
    extends androidx.constraintlayout.widget.ConstraintLayout
    Component used as an edit text and with validation capabilities. To enable validation addTextChangedListener should be used and when a valid or invalid state occurs setAsValid or setAsInvalid should be called respectively. Keep in mind that the invalid state will only be presented after the component loses focus. It can also be used as a disabled input method of interaction. E.g.: When the user picks from a list of values

    For an example of the correct usage of this component check InputFieldDemoActivity.java

    Configurable options in xml: app:label : String for the label app:error : String for the error app:errorEmpty : String for empty string error app:errorMaxCharacters : String for string too long error app:hint : String for the hint app:inputDisabled : Boolean to indicate whether the input is enabled or not. When this is set to false the the keyboard will not be shown when the component is clicked app:icon : Resource of the icon displayed that should be displayed in the component app:multiline : Boolean to indicate if the input should be multiline or not app:minLines : Integer for the minimum number of visible lines app:maxCharacters : Integer for the max characters allowed. REQUIRES errorMaxCharacters

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static interface  YotiEditText.ILabelDrawListener  
      static interface  YotiEditText.YotiEditTextSubmitAction  
      • Nested classes/interfaces inherited from class androidx.constraintlayout.widget.ConstraintLayout

        androidx.constraintlayout.widget.ConstraintLayout.LayoutParams
      • Nested classes/interfaces inherited from class android.view.ViewGroup

        android.view.ViewGroup.MarginLayoutParams, android.view.ViewGroup.OnHierarchyChangeListener
      • Nested classes/interfaces inherited from class android.view.View

        android.view.View.AccessibilityDelegate, android.view.View.BaseSavedState, android.view.View.DragShadowBuilder, android.view.View.MeasureSpec, android.view.View.OnApplyWindowInsetsListener, android.view.View.OnAttachStateChangeListener, android.view.View.OnCapturedPointerListener, android.view.View.OnClickListener, android.view.View.OnContextClickListener, android.view.View.OnCreateContextMenuListener, android.view.View.OnDragListener, android.view.View.OnFocusChangeListener, android.view.View.OnGenericMotionListener, android.view.View.OnHoverListener, android.view.View.OnKeyListener, android.view.View.OnLayoutChangeListener, android.view.View.OnLongClickListener, android.view.View.OnScrollChangeListener, android.view.View.OnSystemUiVisibilityChangeListener, android.view.View.OnTouchListener, android.view.View.OnUnhandledKeyEventListener
    • Field Summary

      • Fields inherited from class androidx.constraintlayout.widget.ConstraintLayout

        DESIGN_INFO_ID, mConstraintLayoutSpec, mDirtyHierarchy, mLayoutWidget, VERSION
      • Fields inherited from class android.view.ViewGroup

        CLIP_TO_PADDING_MASK, FOCUS_AFTER_DESCENDANTS, FOCUS_BEFORE_DESCENDANTS, FOCUS_BLOCK_DESCENDANTS, LAYOUT_MODE_CLIP_BOUNDS, LAYOUT_MODE_OPTICAL_BOUNDS, PERSISTENT_ALL_CACHES, PERSISTENT_ANIMATION_CACHE, PERSISTENT_NO_CACHE, PERSISTENT_SCROLLING_CACHE
      • Fields inherited from class android.view.View

        ACCESSIBILITY_LIVE_REGION_ASSERTIVE, ACCESSIBILITY_LIVE_REGION_NONE, ACCESSIBILITY_LIVE_REGION_POLITE, ALPHA, AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR, AUTOFILL_HINT_CREDIT_CARD_NUMBER, AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE, AUTOFILL_HINT_EMAIL_ADDRESS, AUTOFILL_HINT_NAME, AUTOFILL_HINT_PASSWORD, AUTOFILL_HINT_PHONE, AUTOFILL_HINT_POSTAL_ADDRESS, AUTOFILL_HINT_POSTAL_CODE, AUTOFILL_HINT_USERNAME, AUTOFILL_TYPE_DATE, AUTOFILL_TYPE_LIST, AUTOFILL_TYPE_NONE, AUTOFILL_TYPE_TEXT, AUTOFILL_TYPE_TOGGLE, DRAG_FLAG_GLOBAL, DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION, DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION, DRAG_FLAG_GLOBAL_URI_READ, DRAG_FLAG_GLOBAL_URI_WRITE, DRAG_FLAG_OPAQUE, DRAWING_CACHE_QUALITY_AUTO, DRAWING_CACHE_QUALITY_HIGH, DRAWING_CACHE_QUALITY_LOW, EMPTY_STATE_SET, ENABLED_FOCUSED_SELECTED_STATE_SET, ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, ENABLED_FOCUSED_STATE_SET, ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, ENABLED_SELECTED_STATE_SET, ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, ENABLED_STATE_SET, ENABLED_WINDOW_FOCUSED_STATE_SET, FIND_VIEWS_WITH_CONTENT_DESCRIPTION, FIND_VIEWS_WITH_TEXT, FOCUS_BACKWARD, FOCUS_DOWN, FOCUS_FORWARD, FOCUS_LEFT, FOCUS_RIGHT, FOCUS_UP, FOCUSABLE, FOCUSABLE_AUTO, FOCUSABLES_ALL, FOCUSABLES_TOUCH_MODE, FOCUSED_SELECTED_STATE_SET, FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, FOCUSED_STATE_SET, FOCUSED_WINDOW_FOCUSED_STATE_SET, GONE, HAPTIC_FEEDBACK_ENABLED, IMPORTANT_FOR_ACCESSIBILITY_AUTO, IMPORTANT_FOR_ACCESSIBILITY_NO, IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS, IMPORTANT_FOR_ACCESSIBILITY_YES, IMPORTANT_FOR_AUTOFILL_AUTO, IMPORTANT_FOR_AUTOFILL_NO, IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_AUTOFILL_YES, IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS, INVISIBLE, KEEP_SCREEN_ON, LAYER_TYPE_HARDWARE, LAYER_TYPE_NONE, LAYER_TYPE_SOFTWARE, LAYOUT_DIRECTION_INHERIT, LAYOUT_DIRECTION_LOCALE, LAYOUT_DIRECTION_LTR, LAYOUT_DIRECTION_RTL, MEASURED_HEIGHT_STATE_SHIFT, MEASURED_SIZE_MASK, MEASURED_STATE_MASK, MEASURED_STATE_TOO_SMALL, NO_ID, NOT_FOCUSABLE, OVER_SCROLL_ALWAYS, OVER_SCROLL_IF_CONTENT_SCROLLS, OVER_SCROLL_NEVER, PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET, PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_SELECTED_STATE_SET, PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_STATE_SET, PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_SELECTED_STATE_SET, PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_STATE_SET, PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_SELECTED_STATE_SET, PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_STATE_SET, PRESSED_WINDOW_FOCUSED_STATE_SET, ROTATION, ROTATION_X, ROTATION_Y, SCALE_X, SCALE_Y, SCREEN_STATE_OFF, SCREEN_STATE_ON, SCROLL_AXIS_HORIZONTAL, SCROLL_AXIS_NONE, SCROLL_AXIS_VERTICAL, SCROLL_INDICATOR_BOTTOM, SCROLL_INDICATOR_END, SCROLL_INDICATOR_LEFT, SCROLL_INDICATOR_RIGHT, SCROLL_INDICATOR_START, SCROLL_INDICATOR_TOP, SCROLLBAR_POSITION_DEFAULT, SCROLLBAR_POSITION_LEFT, SCROLLBAR_POSITION_RIGHT, SCROLLBARS_INSIDE_INSET, SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_OUTSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY, SELECTED_STATE_SET, SELECTED_WINDOW_FOCUSED_STATE_SET, SOUND_EFFECTS_ENABLED, STATUS_BAR_HIDDEN, STATUS_BAR_VISIBLE, SYSTEM_UI_FLAG_FULLSCREEN, SYSTEM_UI_FLAG_HIDE_NAVIGATION, SYSTEM_UI_FLAG_IMMERSIVE, SYSTEM_UI_FLAG_IMMERSIVE_STICKY, SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, SYSTEM_UI_FLAG_LAYOUT_STABLE, SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR, SYSTEM_UI_FLAG_LIGHT_STATUS_BAR, SYSTEM_UI_FLAG_LOW_PROFILE, SYSTEM_UI_FLAG_VISIBLE, SYSTEM_UI_LAYOUT_FLAGS, TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_GRAVITY, TEXT_ALIGNMENT_INHERIT, TEXT_ALIGNMENT_TEXT_END, TEXT_ALIGNMENT_TEXT_START, TEXT_ALIGNMENT_VIEW_END, TEXT_ALIGNMENT_VIEW_START, TEXT_DIRECTION_ANY_RTL, TEXT_DIRECTION_FIRST_STRONG, TEXT_DIRECTION_FIRST_STRONG_LTR, TEXT_DIRECTION_FIRST_STRONG_RTL, TEXT_DIRECTION_INHERIT, TEXT_DIRECTION_LOCALE, TEXT_DIRECTION_LTR, TEXT_DIRECTION_RTL, TRANSLATION_X, TRANSLATION_Y, TRANSLATION_Z, VIEW_LOG_TAG, VISIBLE, WINDOW_FOCUSED_STATE_SET, X, Y, Z
    • Constructor Summary

      Constructors 
      Constructor Description
      YotiEditText​(android.content.Context context)  
      YotiEditText​(android.content.Context context, android.util.AttributeSet attrs)  
      YotiEditText​(android.content.Context context, android.util.AttributeSet attrs, int defStyleAttr)  
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void addTextChangedListener​(android.text.TextWatcher textWatcher)
      Adds a new text changed listener.
      int getLabelLineCount()  
      java.lang.String getLabelText()  
      java.lang.String getText()  
      void hideSoftKeyboard​(android.app.Activity activity)  
      boolean isMessageLengthValid()  
      boolean isValidationTickOnScreen()  
      protected void onFocusChanged​(boolean gainFocus, int direction, android.graphics.Rect previouslyFocusedRect)  
      boolean onInterceptTouchEvent​(android.view.MotionEvent ev)  
      protected void onRestoreInstanceState​(android.os.Parcelable state)  
      protected android.os.Parcelable onSaveInstanceState()  
      void removeMaxCharactersAllowed()  
      void removeTextChangedListener​(android.text.TextWatcher textWatcher)
      Removes a previously added text changed listener.
      boolean requestInputFocus()  
      void resetToDefaultState()
      Changes the layout to the default neutral layout.
      void scheduleInvalidOnFocusLost()
      Will set the current state of the component as neutral but on focus lost the state will automatically transition to the default invalid state.
      void setAsDisabled()
      Disables the component.
      void setAsEmptyInvalid()
      Changes the layout to the empty invalid state.
      void setAsEnabled()
      Sets the component as enabled.
      void setAsInFocus()
      Changes the layout to the in focus state neutral state.
      void setAsInputDisabled()
      Disables the direct input.
      void setAsInvalid()
      Changed the layout to the invalid state only after the component looses focus.
      void setAsInvalidNow()  
      void setAsInvalidNow​(AnimationCompletionListener listener)
      The listener will be called after the invalid state animation has completed.
      void setAsNeutral()
      Changes the layout to the focused neutral layout.
      void setAsValid()
      Changes the layout to the valid state.
      void setAutoInvalidOnFocusLost​(boolean enabled)
      Enable or disables the auto invalid state.
      void setCursorVisible​(boolean visible)
      Sets the cursor to either be visible or not.
      void setEmptyErrorText​(int textResId)
      Sets the empty error text.
      void setEmptyErrorText​(java.lang.String emptyErrorText)
      Sets the empty error text.
      void setEndIcon​(android.graphics.drawable.Drawable endIcon)
      This method should only be used when input is disabled
      void setErrorText​(java.lang.String errorText)
      Sets the error text.
      void setHint​(int hint)
      Updates the hint
      void setHint​(java.lang.String hint)
      Updates the hint
      void setHintText​(java.lang.String hintText)
      Sets the hint text and immediately shows it.
      void setImeOptions​(int imeOptions)
      Sets the input ime option
      void setInputEnabled​(boolean enabled)
      When the input is disabled, setText should be used to manipulate the component
      void setInputFilters​(android.text.InputFilter[] inputFilters)  
      void setInputType​(int inputType)
      Sets the input type
      void setIsCharacterInputAllowedWhenValid​(boolean isAllowed)  
      void setLabelDrawListener​(YotiEditText.ILabelDrawListener labelDrawListener)  
      void setLabelText​(java.lang.String labelText)
      Sets the label text.
      void setMaxCharactersAllowed​(int maxCharacters, java.lang.String maxCharactersErrorMessage)
      Updates the max characters allowed
      void setRightIcon​(android.graphics.drawable.Drawable rightIcon)
      Deprecated.
      Functionality has been moved to setEndIcon().
      void setSelection​(int index)  
      void setSubmitAction​(YotiEditText.YotiEditTextSubmitAction action)  
      void setText​(java.lang.String text)
      Updates the input text.
      void showSoftKeyboard​(android.app.Activity activity)  
      • Methods inherited from class androidx.constraintlayout.widget.ConstraintLayout

        applyConstraintsFromLayoutParams, checkLayoutParams, dispatchDraw, fillMetrics, forceLayout, generateDefaultLayoutParams, generateLayoutParams, generateLayoutParams, getDesignInformation, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOptimizationLevel, getSceneString, getSharedValues, getViewById, getViewWidget, isRtl, loadLayoutDescription, onLayout, onMeasure, onViewAdded, onViewRemoved, parseLayoutDescription, requestLayout, resolveMeasuredDimension, resolveSystem, setConstraintSet, setDesignInformation, setId, setMaxHeight, setMaxWidth, setMinHeight, setMinWidth, setOnConstraintsChanged, setOptimizationLevel, setSelfDimensionBehaviour, setState, shouldDelayChildPressedState
      • Methods inherited from class android.view.ViewGroup

        addChildrenForAccessibility, addFocusables, addKeyboardNavigationClusters, addStatesFromChildren, addTouchables, addView, addView, addView, addView, addView, addViewInLayout, addViewInLayout, attachLayoutAnimationParameters, attachViewToParent, bringChildToFront, canAnimate, childDrawableStateChanged, childHasTransientStateChanged, cleanupLayoutState, clearChildFocus, clearDisappearingChildren, clearFocus, debug, detachAllViewsFromParent, detachViewFromParent, detachViewFromParent, detachViewsFromParent, dispatchApplyWindowInsets, dispatchCapturedPointerEvent, dispatchConfigurationChanged, dispatchDisplayHint, dispatchDragEvent, dispatchDrawableHotspotChanged, dispatchFinishTemporaryDetach, dispatchFreezeSelfOnly, dispatchGenericFocusedEvent, dispatchGenericPointerEvent, dispatchHoverEvent, dispatchKeyEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchPointerCaptureChanged, dispatchProvideAutofillStructure, dispatchProvideStructure, dispatchRestoreInstanceState, dispatchSaveInstanceState, dispatchSetActivated, dispatchSetPressed, dispatchSetSelected, dispatchStartTemporaryDetach, dispatchSystemUiVisibilityChanged, dispatchThawSelfOnly, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchVisibilityChanged, dispatchWindowFocusChanged, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, drawableStateChanged, drawChild, endViewTransition, findFocus, findViewsWithText, focusableViewAvailable, focusSearch, gatherTransparentRegion, getAccessibilityClassName, getChildAt, getChildCount, getChildDrawingOrder, getChildMeasureSpec, getChildStaticTransformation, getChildVisibleRect, getClipChildren, getClipToPadding, getDescendantFocusability, getFocusedChild, getLayoutAnimation, getLayoutAnimationListener, getLayoutMode, getLayoutTransition, getNestedScrollAxes, getOverlay, getPersistentDrawingCache, getTouchscreenBlocksFocus, hasFocus, hasTransientState, indexOfChild, invalidateChild, invalidateChildInParent, isAlwaysDrawnWithCacheEnabled, isAnimationCacheEnabled, isChildrenDrawingOrderEnabled, isChildrenDrawnWithCacheEnabled, isMotionEventSplittingEnabled, isTransitionGroup, jumpDrawablesToCurrentState, layout, measureChild, measureChildren, measureChildWithMargins, notifySubtreeAccessibilityStateChanged, offsetDescendantRectToMyCoords, offsetRectIntoDescendantCoords, onAttachedToWindow, onCreateDrawableState, onDescendantInvalidated, onDetachedFromWindow, onInterceptHoverEvent, onNestedFling, onNestedPreFling, onNestedPrePerformAccessibilityAction, onNestedPreScroll, onNestedScroll, onNestedScrollAccepted, onRequestFocusInDescendants, onRequestSendAccessibilityEvent, onResolvePointerIcon, onStartNestedScroll, onStopNestedScroll, recomputeViewAttributes, removeAllViews, removeAllViewsInLayout, removeDetachedView, removeView, removeViewAt, removeViewInLayout, removeViews, removeViewsInLayout, requestChildFocus, requestChildRectangleOnScreen, requestDisallowInterceptTouchEvent, requestFocus, requestSendAccessibilityEvent, requestTransparentRegion, restoreDefaultFocus, scheduleLayoutAnimation, setAddStatesFromChildren, setAlwaysDrawnWithCacheEnabled, setAnimationCacheEnabled, setChildrenDrawingCacheEnabled, setChildrenDrawingOrderEnabled, setChildrenDrawnWithCacheEnabled, setClipChildren, setClipToPadding, setDescendantFocusability, setLayoutAnimation, setLayoutAnimationListener, setLayoutMode, setLayoutTransition, setMotionEventSplittingEnabled, setOnHierarchyChangeListener, setPersistentDrawingCache, setStaticTransformationsEnabled, setTouchscreenBlocksFocus, setTransitionGroup, showContextMenuForChild, showContextMenuForChild, startActionModeForChild, startActionModeForChild, startLayoutAnimation, startViewTransition, updateViewLayout
      • Methods inherited from class android.view.View

        addExtraDataToAccessibilityNodeInfo, addFocusables, addOnAttachStateChangeListener, addOnLayoutChangeListener, addOnUnhandledKeyEventListener, animate, announceForAccessibility, autofill, autofill, awakenScrollBars, awakenScrollBars, awakenScrollBars, bringToFront, buildDrawingCache, buildDrawingCache, buildLayer, callOnClick, cancelDragAndDrop, cancelLongPress, cancelPendingInputEvents, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, checkInputConnectionProxy, clearAnimation, combineMeasuredStates, computeHorizontalScrollExtent, computeHorizontalScrollOffset, computeHorizontalScrollRange, computeScroll, computeSystemWindowInsets, computeVerticalScrollExtent, computeVerticalScrollOffset, computeVerticalScrollRange, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchGenericMotionEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPopulateAccessibilityEvent, draw, drawableHotspotChanged, findViewById, findViewWithTag, fitSystemWindows, focusSearch, forceHasOverlappingRendering, generateViewId, getAccessibilityLiveRegion, getAccessibilityNodeProvider, getAccessibilityPaneTitle, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, getAlpha, getAnimation, getApplicationWindowToken, getAutofillHints, getAutofillId, getAutofillType, getAutofillValue, getBackground, getBackgroundTintList, getBackgroundTintMode, getBaseline, getBottom, getBottomFadingEdgeStrength, getBottomPaddingOffset, getCameraDistance, getClipBounds, getClipBounds, getClipToOutline, getContentDescription, getContext, getContextMenuInfo, getDefaultFocusHighlightEnabled, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getElevation, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusable, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getForegroundTintList, getForegroundTintMode, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, getHasOverlappingRendering, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarHeight, getId, getImportantForAccessibility, getImportantForAutofill, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLeftFadingEdgeStrength, getLeftPaddingOffset, getLocalVisibleRect, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getMinimumHeight, getMinimumWidth, getNextClusterForwardId, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOutlineAmbientShadowColor, getOutlineProvider, getOutlineSpotShadowColor, getOverScrollMode, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getParent, getParentForAccessibility, getPivotX, getPivotY, getPointerIcon, getResources, getRevealOnFocusHint, getRight, getRightFadingEdgeStrength, getRightPaddingOffset, getRootView, getRootWindowInsets, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollIndicators, getScrollX, getScrollY, getSolidColor, getStateListAnimator, getSuggestedMinimumHeight, getSuggestedMinimumWidth, getSystemUiVisibility, getTag, getTag, getTextAlignment, getTextDirection, getTooltipText, getTop, getTopFadingEdgeStrength, getTopPaddingOffset, getTouchables, getTouchDelegate, getTransitionName, getTranslationX, getTranslationY, getTranslationZ, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarWidth, getViewTreeObserver, getVisibility, getWidth, getWindowAttachCount, getWindowId, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, getZ, hasExplicitFocusable, hasFocusable, hasNestedScrollingParent, hasOnClickListeners, hasOverlappingRendering, hasPointerCapture, hasWindowFocus, inflate, invalidate, invalidate, invalidate, invalidateDrawable, invalidateOutline, isAccessibilityFocused, isAccessibilityHeading, isActivated, isAttachedToWindow, isClickable, isContextClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFocusedByDefault, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isImportantForAutofill, isInEditMode, isInLayout, isInTouchMode, isKeyboardNavigationCluster, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isOpaque, isPaddingOffsetRequired, isPaddingRelative, isPivotSet, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScreenReaderFocusable, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, isVisibleToUserForAutofill, keyboardNavigationClusterSearch, measure, mergeDrawableStates, offsetLeftAndRight, offsetTopAndBottom, onAnimationEnd, onAnimationStart, onApplyWindowInsets, onCancelPendingInputEvents, onCapturedPointerEvent, onCheckIsTextEditor, onConfigurationChanged, onCreateContextMenu, onCreateInputConnection, onDisplayHint, onDragEvent, onDraw, onDrawForeground, onDrawScrollBars, onFilterTouchEventForSecurity, onFinishInflate, onFinishTemporaryDetach, onGenericMotionEvent, onHoverChanged, onHoverEvent, onInitializeAccessibilityEvent, onInitializeAccessibilityNodeInfo, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyPreIme, onKeyShortcut, onKeyUp, onOverScrolled, onPointerCaptureChange, onPopulateAccessibilityEvent, onProvideAutofillStructure, onProvideAutofillVirtualStructure, onProvideStructure, onProvideVirtualStructure, onRtlPropertiesChanged, onScreenStateChanged, onScrollChanged, onSetAlpha, onSizeChanged, onStartTemporaryDetach, onTouchEvent, onTrackballEvent, onVisibilityAggregated, onVisibilityChanged, onWindowFocusChanged, onWindowSystemUiVisibilityChanged, onWindowVisibilityChanged, overScrollBy, performAccessibilityAction, performClick, performContextClick, performContextClick, performHapticFeedback, performHapticFeedback, performLongClick, performLongClick, playSoundEffect, post, postDelayed, postInvalidate, postInvalidate, postInvalidateDelayed, postInvalidateDelayed, postInvalidateOnAnimation, postInvalidateOnAnimation, postOnAnimation, postOnAnimationDelayed, refreshDrawableState, releasePointerCapture, removeCallbacks, removeOnAttachStateChangeListener, removeOnLayoutChangeListener, removeOnUnhandledKeyEventListener, requestApplyInsets, requestFitSystemWindows, requestFocus, requestFocus, requestFocusFromTouch, requestPointerCapture, requestRectangleOnScreen, requestRectangleOnScreen, requestUnbufferedDispatch, requireViewById, resetPivot, resolveSize, resolveSizeAndState, restoreHierarchyState, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setAccessibilityHeading, setAccessibilityLiveRegion, setAccessibilityPaneTitle, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAlpha, setAnimation, setAutofillHints, setAutofillId, setBackground, setBackgroundColor, setBackgroundDrawable, setBackgroundResource, setBackgroundTintList, setBackgroundTintMode, setBottom, setCameraDistance, setClickable, setClipBounds, setClipToOutline, setContentDescription, setContextClickable, setDefaultFocusHighlightEnabled, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setElevation, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusable, setFocusableInTouchMode, setFocusedByDefault, setForeground, setForegroundGravity, setForegroundTintList, setForegroundTintMode, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHovered, setImportantForAccessibility, setImportantForAutofill, setKeepScreenOn, setKeyboardNavigationCluster, setLabelFor, setLayerPaint, setLayerType, setLayoutDirection, setLayoutParams, setLeft, setLongClickable, setMeasuredDimension, setMinimumHeight, setMinimumWidth, setNestedScrollingEnabled, setNextClusterForwardId, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnApplyWindowInsetsListener, setOnCapturedPointerListener, setOnClickListener, setOnContextClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnScrollChangeListener, setOnSystemUiVisibilityChangeListener, setOnTouchListener, setOutlineAmbientShadowColor, setOutlineProvider, setOutlineSpotShadowColor, setOverScrollMode, setPadding, setPaddingRelative, setPivotX, setPivotY, setPointerIcon, setPressed, setRevealOnFocusHint, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScreenReaderFocusable, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollbarFadingEnabled, setScrollBarSize, setScrollBarStyle, setScrollContainer, setScrollIndicators, setScrollIndicators, setScrollX, setScrollY, setSelected, setSoundEffectsEnabled, setStateListAnimator, setSystemUiVisibility, setTag, setTag, setTextAlignment, setTextDirection, setTooltipText, setTop, setTouchDelegate, setTransitionName, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVisibility, setWillNotCacheDrawing, setWillNotDraw, setX, setY, setZ, showContextMenu, showContextMenu, startActionMode, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, unscheduleDrawable, unscheduleDrawable, updateDragShadow, verifyDrawable, willNotCacheDrawing, willNotDraw
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface android.view.ViewParent

        canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, createContextMenu, getLayoutDirection, getParent, getParentForAccessibility, getTextAlignment, getTextDirection, isLayoutDirectionResolved, isLayoutRequested, isTextAlignmentResolved, isTextDirectionResolved, keyboardNavigationClusterSearch, requestFitSystemWindows
    • Constructor Detail

      • YotiEditText

        public YotiEditText​(android.content.Context context)
      • YotiEditText

        public YotiEditText​(android.content.Context context,
                            android.util.AttributeSet attrs)
      • YotiEditText

        public YotiEditText​(android.content.Context context,
                            android.util.AttributeSet attrs,
                            int defStyleAttr)
    • Method Detail

      • onSaveInstanceState

        @Nullable
        protected android.os.Parcelable onSaveInstanceState()
        Overrides:
        onSaveInstanceState in class android.view.View
      • onRestoreInstanceState

        protected void onRestoreInstanceState​(android.os.Parcelable state)
        Overrides:
        onRestoreInstanceState in class android.view.View
      • getLabelLineCount

        public int getLabelLineCount()
      • isMessageLengthValid

        public boolean isMessageLengthValid()
      • setRightIcon

        @Deprecated
        public void setRightIcon​(android.graphics.drawable.Drawable rightIcon)
        Deprecated.
        Functionality has been moved to setEndIcon().
        This method should only be used when input is disabled
      • setEndIcon

        public void setEndIcon​(android.graphics.drawable.Drawable endIcon)
        This method should only be used when input is disabled
      • setLabelText

        public void setLabelText​(@Nullable
                                 java.lang.String labelText)
        Sets the label text.
        Parameters:
        labelText - Label text which can be null or empty. If null or empty then the view text will be cleared.
      • getLabelText

        public java.lang.String getLabelText()
      • setInputFilters

        public void setInputFilters​(android.text.InputFilter[] inputFilters)
      • setIsCharacterInputAllowedWhenValid

        public void setIsCharacterInputAllowedWhenValid​(boolean isAllowed)
      • setErrorText

        public void setErrorText​(@Nullable
                                 java.lang.String errorText)
        Sets the error text.
      • setEmptyErrorText

        public void setEmptyErrorText​(@Nullable
                                      java.lang.String emptyErrorText)
        Sets the empty error text.
        Parameters:
        emptyErrorText - The error text to be displayed when input is empty
      • setEmptyErrorText

        public void setEmptyErrorText​(@StringRes
                                      int textResId)
        Sets the empty error text.
        Parameters:
        textResId - String resource
      • setHintText

        public void setHintText​(@Nullable
                                java.lang.String hintText)
        Sets the hint text and immediately shows it.
      • setHint

        public void setHint​(@StringRes
                            int hint)
        Updates the hint
        Parameters:
        hint - new value
      • setHint

        public void setHint​(java.lang.String hint)
        Updates the hint
        Parameters:
        hint - new value
      • setMaxCharactersAllowed

        public void setMaxCharactersAllowed​(int maxCharacters,
                                            java.lang.String maxCharactersErrorMessage)
        Updates the max characters allowed
        Parameters:
        maxCharacters - max characters allowed
        maxCharactersErrorMessage - error message
      • removeMaxCharactersAllowed

        public void removeMaxCharactersAllowed()
      • getText

        public java.lang.String getText()
        Returns:
        input text content
      • setText

        public void setText​(java.lang.String text)
        Updates the input text.
        Parameters:
        text - new input text content
      • setInputEnabled

        public void setInputEnabled​(boolean enabled)
        When the input is disabled, setText should be used to manipulate the component
        Parameters:
        enabled - true if should react to touch and keyboard, false otherwise
      • addTextChangedListener

        public void addTextChangedListener​(@NonNull
                                           android.text.TextWatcher textWatcher)
        Adds a new text changed listener. This should be used when validation needs to be implemented.
        Parameters:
        textWatcher - text changed listener
      • removeTextChangedListener

        public void removeTextChangedListener​(@NonNull
                                              android.text.TextWatcher textWatcher)
        Removes a previously added text changed listener.
        Parameters:
        textWatcher - text changed listener
      • onInterceptTouchEvent

        public boolean onInterceptTouchEvent​(android.view.MotionEvent ev)
        Overrides:
        onInterceptTouchEvent in class android.view.ViewGroup
      • onFocusChanged

        protected void onFocusChanged​(boolean gainFocus,
                                      int direction,
                                      @Nullable
                                      android.graphics.Rect previouslyFocusedRect)
        Overrides:
        onFocusChanged in class android.view.View
      • showSoftKeyboard

        public void showSoftKeyboard​(@NonNull
                                     android.app.Activity activity)
      • hideSoftKeyboard

        public void hideSoftKeyboard​(@NonNull
                                     android.app.Activity activity)
      • requestInputFocus

        public boolean requestInputFocus()
      • setAsInFocus

        public void setAsInFocus()
        Changes the layout to the in focus state neutral state. Required animations will run.
      • setAsValid

        public void setAsValid()
        Changes the layout to the valid state. Required animations will run.
      • setAsInvalid

        public void setAsInvalid()
        Changed the layout to the invalid state only after the component looses focus. Required animations will run.
      • scheduleInvalidOnFocusLost

        public void scheduleInvalidOnFocusLost()
        Will set the current state of the component as neutral but on focus lost the state will automatically transition to the default invalid state.
      • setAutoInvalidOnFocusLost

        public void setAutoInvalidOnFocusLost​(boolean enabled)
        Enable or disables the auto invalid state. This means that if the message is not valid when the component loses focus it will display the default invalid error.
      • setAsInvalidNow

        public void setAsInvalidNow​(AnimationCompletionListener listener)
        The listener will be called after the invalid state animation has completed.
      • setAsInvalidNow

        public void setAsInvalidNow()
      • setAsEmptyInvalid

        public void setAsEmptyInvalid()
        Changes the layout to the empty invalid state. Required animations will run.
      • setAsNeutral

        public void setAsNeutral()
        Changes the layout to the focused neutral layout. Required animations will run.
      • resetToDefaultState

        public void resetToDefaultState()
        Changes the layout to the default neutral layout. Required animations will run.
      • setAsInputDisabled

        public void setAsInputDisabled()
        Disables the direct input. i.e.: there will be no keyboard to interact with the component. The interaction must be done through setText() method. The component is still visually active.
      • setAsDisabled

        public void setAsDisabled()
        Disables the component. When this is called the input won't be allowed and all clicks will be ignored.
      • setAsEnabled

        public void setAsEnabled()
        Sets the component as enabled. This should be called when the component has previously been disabled.
      • setCursorVisible

        public void setCursorVisible​(boolean visible)
        Sets the cursor to either be visible or not.
        Parameters:
        visible - True to let the cursor be visible, otherwise false.
      • setInputType

        public void setInputType​(int inputType)
        Sets the input type
        See Also:
        InputType
      • setImeOptions

        public void setImeOptions​(int imeOptions)
        Sets the input ime option
        See Also:
        EditorInfo.imeOptions
      • setSelection

        public void setSelection​(int index)
      • isValidationTickOnScreen

        public boolean isValidationTickOnScreen()