public final class TextInput extends Component
Performance is critical for good user experience. Follow these tips for good performance:
com.facebook.litho.widget.TextInputSpec
Modifier and Type | Class and Description |
---|---|
static class |
TextInput.Builder |
Component.ContainerBuilder<T extends Component.ContainerBuilder<T>>
ComponentLifecycle.MountType, ComponentLifecycle.RenderData, ComponentLifecycle.StateContainer, ComponentLifecycle.StateUpdate, ComponentLifecycle.TransitionContainer
mSplitChildrenLayoutInThreadPool
Modifier and Type | Method and Description |
---|---|
Object |
acceptTriggerEvent(EventTrigger eventTrigger,
Object eventState,
Object[] params) |
protected boolean |
canMeasure()
Whether this
ComponentLifecycle is able to measure itself according
to specific size constraints. |
protected boolean |
canPreallocate() |
static void |
clearFocus(ComponentContext c,
String key) |
static void |
clearFocus(EventTrigger trigger) |
static EventTrigger |
clearFocusTrigger(ComponentContext c,
String key) |
static TextInput.Builder |
create(ComponentContext context) |
static TextInput.Builder |
create(ComponentContext context,
int defStyleAttr,
int defStyleRes) |
protected void |
createInitialState(ComponentContext c) |
static EventHandler |
getEditorActionEventHandler(ComponentContext context) |
static EventHandler |
getKeyUpEventHandler(ComponentContext context) |
ComponentLifecycle.MountType |
getMountType()
This indicates the type of the
Object that will be returned by ComponentLifecycle.mount(com.facebook.litho.ComponentContext, java.lang.Object) . |
static EventHandler |
getSelectionChangedEventHandler(ComponentContext context) |
static EventHandler |
getSetTextEventHandler(ComponentContext context) |
protected ComponentLifecycle.StateContainer |
getStateContainer() |
static EventHandler |
getTextChangedEventHandler(ComponentContext context) |
protected boolean |
hasState() |
boolean |
isEquivalentTo(Component other)
Compares this component to a different one to check if they are the same
This is used to be able to skip rendering a component again.
|
boolean |
isPureRender() |
protected Object |
onCreateMountContent(Context c)
Create the object that will be mounted in the
LithoView . |
protected void |
onMeasure(ComponentContext c,
ComponentLayout layout,
int widthSpec,
int heightSpec,
Size size) |
protected void |
onMount(ComponentContext c,
Object editText)
Deploy all UI elements representing the final bounds defined in the given
ComponentLayout . |
protected void |
onUnmount(ComponentContext c,
Object editText)
Unload UI elements associated with this component.
|
protected int |
poolSize() |
void |
recordEventTrigger(EventTriggersContainer container) |
static void |
requestFocus(ComponentContext c,
String key) |
static void |
requestFocus(EventTrigger trigger) |
static EventTrigger |
requestFocusTrigger(ComponentContext c,
String key) |
static void |
setText(ComponentContext c,
String key,
String text) |
static void |
setText(EventTrigger trigger,
String text) |
static EventTrigger |
setTextTrigger(ComponentContext c,
String key) |
protected boolean |
shouldUpdate(Component _prevAbstractImpl,
Component _nextAbstractImpl)
Whether the component needs updating.
|
protected void |
transferState(ComponentContext context,
ComponentLifecycle.StateContainer _prevStateContainer)
|
canResolve, clearCachedLayout, copyInterStageImpl, getEventDispatcher, getId, getOrCreateCommonProps, getScopedContext, getSimpleName, makeShallowCopy, measure, registerWorkingRange, releaseCachedLayout, setScopedContext, updateInternalChildState, updateInternalChildState, willRender
acquireDiff, acquireOutput, applyPreviousRenderData, callsShouldUpdateOnMount, canMountIncrementally, createMountContent, dispatchErrorEvent, dispatchErrorEvent, dispatchOnEnteredRange, dispatchOnEvent, dispatchOnExitedRange, getEventTrigger, getExtraAccessibilityNodeAt, getExtraAccessibilityNodesCount, getTreePropsForChildren, implementsAccessibility, implementsExtraAccessibilityNodes, isMountSizeDependent, needsPreviousRenderData, newEventHandler, newEventHandler, newEventTrigger, onBind, onBoundsDefined, onCreateLayout, onCreateLayoutWithSizeSpec, onCreateMountContentPool, onCreateTransition, onError, onLoadStyle, onMeasureBaseline, onPopulateAccessibilityNode, onPopulateExtraAccessibilityNode, onPrepare, onUnbind, populateTreeProps, recordRenderData, releaseDiff, releaseOutput, resolve, shouldAlwaysRemeasure, shouldUseDisplayList
protected ComponentLifecycle.StateContainer getStateContainer()
getStateContainer
in class Component
public boolean isEquivalentTo(Component other)
Component
Object.equals(Object)
so we can optimize the code better over time since we don't have
to adhere to the contract required for a equals method.isEquivalentTo
in class Component
other
- the component to compare toprotected void onMeasure(ComponentContext c, ComponentLayout layout, int widthSpec, int heightSpec, Size size)
onMeasure
in class ComponentLifecycle
protected boolean canMeasure()
ComponentLifecycle
ComponentLifecycle
is able to measure itself according
to specific size constraints.canMeasure
in class ComponentLifecycle
protected boolean shouldUpdate(Component _prevAbstractImpl, Component _nextAbstractImpl)
ComponentLifecycle
For layout components, the framework will verify that none of the children of the component need updating, and that both components have the same number of children. Therefore this method just needs to determine any changes to the top-level component that would cause it to need to be updated (for example, a click handler was added).
For mount specs, the framework does nothing extra and this method alone determines whether the component is updated or not.
shouldUpdate
in class ComponentLifecycle
_prevAbstractImpl
- the previous component to compare against._nextAbstractImpl
- the component that is now in use.protected Object onCreateMountContent(Context c)
ComponentLifecycle
LithoView
.onCreateMountContent
in class ComponentLifecycle
c
- The Context
to be used to create the content.protected void onMount(ComponentContext c, Object editText)
ComponentLifecycle
ComponentLayout
. Return either a Drawable
or a View
or null
to be
mounted.onMount
in class ComponentLifecycle
c
- The ComponentContext
to mount the component into.protected void onUnmount(ComponentContext c, Object editText)
ComponentLifecycle
onUnmount
in class ComponentLifecycle
c
- The Context
for this mount operation.editText
- The Drawable
or View
mounted by this component.protected void createInitialState(ComponentContext c)
createInitialState
in class ComponentLifecycle
public ComponentLifecycle.MountType getMountType()
ComponentLifecycle
Object
that will be returned by ComponentLifecycle.mount(com.facebook.litho.ComponentContext, java.lang.Object)
.getMountType
in class ComponentLifecycle
ComponentLifecycle.MountType
protected int poolSize()
poolSize
in class ComponentLifecycle
protected boolean canPreallocate()
canPreallocate
in class ComponentLifecycle
public boolean isPureRender()
isPureRender
in class ComponentLifecycle
public static EventHandler getTextChangedEventHandler(ComponentContext context)
public static EventHandler getSelectionChangedEventHandler(ComponentContext context)
public static EventHandler getKeyUpEventHandler(ComponentContext context)
public static EventHandler getEditorActionEventHandler(ComponentContext context)
public static EventHandler getSetTextEventHandler(ComponentContext context)
public static EventTrigger requestFocusTrigger(ComponentContext c, String key)
public static EventTrigger clearFocusTrigger(ComponentContext c, String key)
public static EventTrigger setTextTrigger(ComponentContext c, String key)
public static void requestFocus(ComponentContext c, String key)
public static void requestFocus(EventTrigger trigger)
public static void clearFocus(ComponentContext c, String key)
public static void clearFocus(EventTrigger trigger)
public static void setText(ComponentContext c, String key, String text)
public static void setText(EventTrigger trigger, String text)
public Object acceptTriggerEvent(EventTrigger eventTrigger, Object eventState, Object[] params)
acceptTriggerEvent
in interface EventTriggerTarget
acceptTriggerEvent
in class ComponentLifecycle
public void recordEventTrigger(EventTriggersContainer container)
recordEventTrigger
in interface HasEventTrigger
recordEventTrigger
in class Component
protected boolean hasState()
hasState
in class ComponentLifecycle
protected void transferState(ComponentContext context, ComponentLifecycle.StateContainer _prevStateContainer)
ComponentLifecycle
transferState
in class ComponentLifecycle
public static TextInput.Builder create(ComponentContext context)
public static TextInput.Builder create(ComponentContext context, int defStyleAttr, int defStyleRes)