Class FlutterView
- java.lang.Object
-
- android.view.View
-
- android.view.ViewGroup
-
- android.widget.FrameLayout
-
- io.flutter.embedding.android.FlutterView
-
- All Implemented Interfaces:
Drawable.Callback,AccessibilityEventSource,KeyEvent.Callback,ViewManager,ViewParent,KeyboardManager.ViewDelegate,io.flutter.plugin.mouse.MouseCursorPlugin.MouseCursorViewDelegate
public class FlutterView extends FrameLayout implements io.flutter.plugin.mouse.MouseCursorPlugin.MouseCursorViewDelegate, KeyboardManager.ViewDelegate
Displays a Flutter UI on an Android device.A
FlutterView's UI is painted by a correspondingFlutterEngine.A
FlutterViewcan operate in 2 differentRenderModes:RenderMode.surface, which paints a Flutter UI to aSurfaceView. This mode has the best performance, but aFlutterViewin this mode cannot be positioned between 2 other AndroidViews in the z-index, nor can it be animated/transformed. Unless the special capabilities of aSurfaceTextureare required, developers should strongly prefer this render mode.RenderMode.texture, which paints a Flutter UI to aSurfaceTexture. This mode is not as performant asRenderMode.surface, but aFlutterViewin this mode can be animated and transformed, as well as positioned in the z-index between 2+ other AndroidViews. Unless the special capabilities of aSurfaceTextureare required, developers should strongly prefer theRenderMode.surfacerender mode.
SurfaceViewandTextureView.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceFlutterView.FlutterEngineAttachmentListenerListener that is notified when aFlutterEngineis attached to/detached from a givenFlutterView.-
Nested classes/interfaces inherited from class android.widget.FrameLayout
FrameLayout.LayoutParams
-
Nested classes/interfaces inherited from class android.view.ViewGroup
ViewGroup.MarginLayoutParams, ViewGroup.OnHierarchyChangeListener
-
Nested classes/interfaces inherited from class android.view.View
View.AccessibilityDelegate, View.BaseSavedState, View.DragShadowBuilder, View.MeasureSpec, View.OnApplyWindowInsetsListener, View.OnAttachStateChangeListener, View.OnCapturedPointerListener, View.OnClickListener, View.OnContextClickListener, View.OnCreateContextMenuListener, View.OnDragListener, View.OnFocusChangeListener, View.OnGenericMotionListener, View.OnHoverListener, View.OnKeyListener, View.OnLayoutChangeListener, View.OnLongClickListener, View.OnScrollChangeListener, View.OnSystemUiVisibilityChangeListener, View.OnTouchListener, View.OnUnhandledKeyEventListener
-
-
Field Summary
-
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_ACCESSIBILITY_ACTION, 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, IMPORTANT_FOR_CONTENT_CAPTURE_AUTO, IMPORTANT_FOR_CONTENT_CAPTURE_NO, IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_YES, IMPORTANT_FOR_CONTENT_CAPTURE_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_CAPTURE_HINT_AUTO, SCROLL_CAPTURE_HINT_EXCLUDE, SCROLL_CAPTURE_HINT_EXCLUDE_DESCENDANTS, SCROLL_CAPTURE_HINT_INCLUDE, 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 FlutterView(Context context)Constructs aFlutterViewprogrammatically, without any XML attributes.FlutterView(Context context, AttributeSet attrs)Constructs aFlutterViewin an XML-inflation-compliant manner.FlutterView(Context context, FlutterImageView flutterImageView)Constructs aFlutterViewprogrammatically, without any XML attributes, uses the givenFlutterImageViewto render the Flutter UI.FlutterView(Context context, FlutterSurfaceView flutterSurfaceView)Constructs aFlutterViewprogrammatically, without any XML attributes, uses the givenFlutterSurfaceViewto render the Flutter UI, and allows selection of atransparencyMode.FlutterView(Context context, FlutterTextureView flutterTextureView)Constructs aFlutterViewprogrammatically, without any XML attributes, uses the givenFlutterTextureViewto render the Flutter UI, and allows selection of atransparencyMode.FlutterView(Context context, RenderMode renderMode)Deprecated.FlutterView(Context context, RenderMode renderMode, TransparencyMode transparencyMode)Deprecated.FlutterView(Context context, TransparencyMode transparencyMode)Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanacquireLatestImageViewFrame()voidaddFlutterEngineAttachmentListener(FlutterView.FlutterEngineAttachmentListener listener)Adds aFlutterView.FlutterEngineAttachmentListener, which is notified whenever thisFlutterViewattached to/detaches from aFlutterEngine.voidaddOnFirstFrameRenderedListener(FlutterUiDisplayListener listener)Adds the givenlistenerto thisFlutterView, to be notified upon Flutter's first rendered frame.voidattachOverlaySurfaceToRender(FlutterImageView view)voidattachToFlutterEngine(FlutterEngine flutterEngine)Connects thisFlutterViewto the givenFlutterEngine.voidautofill(SparseArray<AutofillValue> values)booleancheckInputConnectionProxy(View view)Allows aViewthat is not currently the input connection target to invoke commands on theInputMethodManager, which is otherwise disallowed.voidconvertToImageView()Converts the current render surface to aFlutterImageViewif it's not one already.FlutterImageViewcreateImageView()protected WindowInfoRepositoryCallbackAdapterWrappercreateWindowInfoRepo()voiddetachFromFlutterEngine()Disconnects thisFlutterViewfrom a previously attachedFlutterEngine.booleandispatchKeyEvent(KeyEvent event)Invoked when a hardware key is pressed or released.ViewfindViewByAccessibilityIdTraversal(int accessibilityId)Prior to Android Q, it's impossible to add real views as descendants of virtual nodes.protected booleanfitSystemWindows(Rect insets)Invoked when Android's desired window insets change, i.e., padding.AccessibilityNodeProvidergetAccessibilityNodeProvider()FlutterEnginegetAttachedFlutterEngine()Returns theFlutterEngineto which thisFlutterViewis currently attached, or null if thisFlutterViewis not currently attached to aFlutterEngine.BinaryMessengergetBinaryMessenger()Returns aBinaryMessengerto send platform messages with.FlutterImageViewgetCurrentImageSurface()PointerIcongetSystemPointerIcon(int type)Gets a system pointer icon object for the giventype.booleanhasRenderedFirstFrame()Returns true if an attachedFlutterEnginehas rendered at least 1 frame to thisFlutterView.booleanisAttachedToFlutterEngine()Returns true if thisFlutterViewis currently attached to aFlutterEngine.WindowInsetsonApplyWindowInsets(WindowInsets insets)Invoked when Android's desired window insets change, i.e., padding.protected voidonAttachedToWindow()Invoked when this is attached to the window.protected voidonConfigurationChanged(Configuration newConfig)Sends relevant configuration data from Android to Flutter when the AndroidConfigurationchanges.InputConnectiononCreateInputConnection(EditorInfo outAttrs)Creates anInputConnectionto work with aInputMethodManager.protected voidonDetachedFromWindow()Invoked when this is detached from the window.booleanonGenericMotionEvent(MotionEvent event)Invoked by Android when a generic motion event occurs, e.g., joystick movement, mouse hover, track pad touches, scroll wheel movements, etc.booleanonHoverEvent(MotionEvent event)Invoked by Android when a hover-compliant input system causes a hover event.voidonProvideAutofillVirtualStructure(ViewStructure structure, int flags)protected voidonSizeChanged(int width, int height, int oldWidth, int oldHeight)Invoked when thisFlutterViewchanges size, including upon initial measure.booleanonTextInputKeyEvent(KeyEvent keyEvent)Send aKeyEventthat is not handled by the keyboard responders to the text input system.booleanonTouchEvent(MotionEvent event)Invoked by Android when a user touch event occurs.voidredispatch(KeyEvent keyEvent)Send aKeyEventthat is not handled by Flutter back to the platform.voidremoveFlutterEngineAttachmentListener(FlutterView.FlutterEngineAttachmentListener listener)Removes aFlutterView.FlutterEngineAttachmentListenerthat was previously added withaddFlutterEngineAttachmentListener(FlutterEngineAttachmentListener).voidremoveOnFirstFrameRenderedListener(FlutterUiDisplayListener listener)Removes the givenlistener, which was previously added withaddOnFirstFrameRenderedListener(FlutterUiDisplayListener).voidrevertImageView(Runnable onDone)If the surface is rendered by aFlutterImageView, then calling this method will stop rendering to aFlutterImageView, and render on the previous surface instead.protected voidsetWindowInfoListenerDisplayFeatures(androidx.window.layout.WindowLayoutInfo layoutInfo)RefreshWindowInfoTrackerandDisplayCutoutdisplay features.-
Methods inherited from class android.widget.FrameLayout
checkLayoutParams, generateDefaultLayoutParams, generateLayoutParams, generateLayoutParams, getAccessibilityClassName, getConsiderGoneChildrenWhenMeasuring, getMeasureAllChildren, onLayout, onMeasure, setForegroundGravity, setMeasureAllChildren, shouldDelayChildPressedState
-
Methods inherited from class android.view.ViewGroup
addChildrenForAccessibility, addExtraDataToAccessibilityNodeInfo, 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, dispatchCreateViewTranslationRequest, dispatchDisplayHint, dispatchDragEvent, dispatchDraw, dispatchDrawableHotspotChanged, dispatchFinishTemporaryDetach, dispatchFreezeSelfOnly, dispatchGenericFocusedEvent, dispatchGenericPointerEvent, dispatchHoverEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchPointerCaptureChanged, dispatchProvideAutofillStructure, dispatchProvideStructure, dispatchRestoreInstanceState, dispatchSaveInstanceState, dispatchScrollCaptureSearch, dispatchSetActivated, dispatchSetPressed, dispatchSetSelected, dispatchStartTemporaryDetach, dispatchSystemUiVisibilityChanged, dispatchThawSelfOnly, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchVisibilityChanged, dispatchWindowFocusChanged, dispatchWindowInsetsAnimationEnd, dispatchWindowInsetsAnimationPrepare, dispatchWindowInsetsAnimationProgress, dispatchWindowInsetsAnimationStart, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, drawableStateChanged, drawChild, endViewTransition, findFocus, findViewsWithText, focusableViewAvailable, focusSearch, gatherTransparentRegion, getChildAt, getChildCount, getChildDrawingOrder, 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, isLayoutSuppressed, isMotionEventSplittingEnabled, isTransitionGroup, jumpDrawablesToCurrentState, layout, measureChild, measureChildren, measureChildWithMargins, notifySubtreeAccessibilityStateChanged, offsetDescendantRectToMyCoords, offsetRectIntoDescendantCoords, onCreateDrawableState, onDescendantInvalidated, onInterceptHoverEvent, onInterceptTouchEvent, onNestedFling, onNestedPreFling, onNestedPrePerformAccessibilityAction, onNestedPreScroll, onNestedScroll, onNestedScrollAccepted, onRequestFocusInDescendants, onRequestSendAccessibilityEvent, onResolvePointerIcon, onStartNestedScroll, onStopNestedScroll, onViewAdded, onViewRemoved, 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, setWindowInsetsAnimationCallback, showContextMenuForChild, showContextMenuForChild, startActionModeForChild, startActionModeForChild, startLayoutAnimation, startViewTransition, suppressLayout, updateViewLayout
-
Methods inherited from class android.view.View
addFocusables, addOnAttachStateChangeListener, addOnLayoutChangeListener, addOnUnhandledKeyEventListener, animate, announceForAccessibility, autofill, awakenScrollBars, awakenScrollBars, awakenScrollBars, bringToFront, buildDrawingCache, buildDrawingCache, buildLayer, callOnClick, cancelDragAndDrop, cancelLongPress, cancelPendingInputEvents, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, clearAnimation, clearViewTranslationCallback, combineMeasuredStates, computeHorizontalScrollExtent, computeHorizontalScrollOffset, computeHorizontalScrollRange, computeScroll, computeSystemWindowInsets, computeVerticalScrollExtent, computeVerticalScrollOffset, computeVerticalScrollRange, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchGenericMotionEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPopulateAccessibilityEvent, draw, drawableHotspotChanged, findViewById, findViewWithTag, focusSearch, forceHasOverlappingRendering, forceLayout, generateDisplayHash, generateViewId, getAccessibilityDelegate, getAccessibilityLiveRegion, getAccessibilityPaneTitle, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, getAlpha, getAnimation, getAnimationMatrix, getApplicationWindowToken, getAttributeResolutionStack, getAttributeSourceResourceMap, getAutofillHints, getAutofillId, getAutofillType, getAutofillValue, getBackground, getBackgroundTintBlendMode, getBackgroundTintList, getBackgroundTintMode, getBaseline, getBottom, getBottomFadingEdgeStrength, getBottomPaddingOffset, getCameraDistance, getClipBounds, getClipBounds, getClipToOutline, getContentCaptureSession, getContentDescription, getContext, getContextMenuInfo, getDefaultFocusHighlightEnabled, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getElevation, getExplicitStyle, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusable, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getForegroundTintBlendMode, getForegroundTintList, getForegroundTintMode, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, getHasOverlappingRendering, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarHeight, getHorizontalScrollbarThumbDrawable, getHorizontalScrollbarTrackDrawable, getId, getImportantForAccessibility, getImportantForAutofill, getImportantForContentCapture, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLeftFadingEdgeStrength, getLeftPaddingOffset, getLocalVisibleRect, getLocationInSurface, 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, getReceiveContentMimeTypes, getResources, getRevealOnFocusHint, getRight, getRightFadingEdgeStrength, getRightPaddingOffset, getRootSurfaceControl, getRootView, getRootWindowInsets, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollCaptureHint, getScrollIndicators, getScrollX, getScrollY, getSolidColor, getSourceLayoutResId, getStateDescription, getStateListAnimator, getSuggestedMinimumHeight, getSuggestedMinimumWidth, getSystemGestureExclusionRects, getSystemUiVisibility, getTag, getTag, getTextAlignment, getTextDirection, getTooltipText, getTop, getTopFadingEdgeStrength, getTopPaddingOffset, getTouchables, getTouchDelegate, getTransitionAlpha, getTransitionName, getTranslationX, getTranslationY, getTranslationZ, getUniqueDrawingId, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarThumbDrawable, getVerticalScrollbarTrackDrawable, getVerticalScrollbarWidth, getViewTranslationResponse, getViewTreeObserver, getVisibility, getWidth, getWindowAttachCount, getWindowId, getWindowInsetsController, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, getZ, hasExplicitFocusable, hasFocusable, hasNestedScrollingParent, hasOnClickListeners, hasOnLongClickListeners, hasOverlappingRendering, hasPointerCapture, hasWindowFocus, inflate, invalidate, invalidate, invalidate, invalidateDrawable, invalidateOutline, isAccessibilityFocused, isAccessibilityHeading, isActivated, isAttachedToWindow, isClickable, isContextClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFocusedByDefault, isForceDarkAllowed, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isImportantForAutofill, isImportantForContentCapture, isInEditMode, isInLayout, isInTouchMode, isKeyboardNavigationCluster, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isOpaque, isPaddingOffsetRequired, isPaddingRelative, isPivotSet, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScreenReaderFocusable, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShowingLayoutBounds, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, isVisibleToUserForAutofill, keyboardNavigationClusterSearch, measure, mergeDrawableStates, offsetLeftAndRight, offsetTopAndBottom, onAnimationEnd, onAnimationStart, onCancelPendingInputEvents, onCapturedPointerEvent, onCheckIsTextEditor, onCreateContextMenu, onCreateViewTranslationRequest, onCreateVirtualViewTranslationRequests, onDisplayHint, onDragEvent, onDraw, onDrawForeground, onDrawScrollBars, onFilterTouchEventForSecurity, onFinishInflate, onFinishTemporaryDetach, onFocusChanged, onHoverChanged, onInitializeAccessibilityEvent, onInitializeAccessibilityNodeInfo, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyPreIme, onKeyShortcut, onKeyUp, onOverScrolled, onPointerCaptureChange, onPopulateAccessibilityEvent, onProvideAutofillStructure, onProvideContentCaptureStructure, onProvideStructure, onProvideVirtualStructure, onReceiveContent, onRestoreInstanceState, onRtlPropertiesChanged, onSaveInstanceState, onScreenStateChanged, onScrollCaptureSearch, onScrollChanged, onSetAlpha, onStartTemporaryDetach, onTrackballEvent, onViewTranslationResponse, onVirtualViewTranslationResponses, onVisibilityAggregated, onVisibilityChanged, onWindowFocusChanged, onWindowSystemUiVisibilityChanged, onWindowVisibilityChanged, overScrollBy, performAccessibilityAction, performClick, performContextClick, performContextClick, performHapticFeedback, performHapticFeedback, performLongClick, performLongClick, performReceiveContent, playSoundEffect, post, postDelayed, postInvalidate, postInvalidate, postInvalidateDelayed, postInvalidateDelayed, postInvalidateOnAnimation, postInvalidateOnAnimation, postOnAnimation, postOnAnimationDelayed, refreshDrawableState, releasePointerCapture, removeCallbacks, removeOnAttachStateChangeListener, removeOnLayoutChangeListener, removeOnUnhandledKeyEventListener, requestApplyInsets, requestFitSystemWindows, requestFocus, requestFocus, requestFocusFromTouch, requestLayout, requestPointerCapture, requestRectangleOnScreen, requestRectangleOnScreen, requestUnbufferedDispatch, requestUnbufferedDispatch, requireViewById, resetPivot, resolveSize, resolveSizeAndState, restoreHierarchyState, saveAttributeDataForStyleable, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setAccessibilityHeading, setAccessibilityLiveRegion, setAccessibilityPaneTitle, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAllowClickWhenDisabled, setAlpha, setAnimation, setAnimationMatrix, setAutofillHints, setAutofillId, setBackground, setBackgroundColor, setBackgroundDrawable, setBackgroundResource, setBackgroundTintBlendMode, setBackgroundTintList, setBackgroundTintMode, setBottom, setCameraDistance, setClickable, setClipBounds, setClipToOutline, setContentCaptureSession, setContentDescription, setContextClickable, setDefaultFocusHighlightEnabled, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setElevation, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusable, setFocusableInTouchMode, setFocusedByDefault, setForceDarkAllowed, setForeground, setForegroundTintBlendMode, setForegroundTintList, setForegroundTintMode, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHorizontalScrollbarThumbDrawable, setHorizontalScrollbarTrackDrawable, setHovered, setId, setImportantForAccessibility, setImportantForAutofill, setImportantForContentCapture, setKeepScreenOn, setKeyboardNavigationCluster, setLabelFor, setLayerPaint, setLayerType, setLayoutDirection, setLayoutParams, setLeft, setLeftTopRightBottom, setLongClickable, setMeasuredDimension, setMinimumHeight, setMinimumWidth, setNestedScrollingEnabled, setNextClusterForwardId, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnApplyWindowInsetsListener, setOnCapturedPointerListener, setOnClickListener, setOnContextClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnReceiveContentListener, setOnScrollChangeListener, setOnSystemUiVisibilityChangeListener, setOnTouchListener, setOutlineAmbientShadowColor, setOutlineProvider, setOutlineSpotShadowColor, setOverScrollMode, setPadding, setPaddingRelative, setPivotX, setPivotY, setPointerIcon, setPressed, setRenderEffect, setRevealOnFocusHint, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScreenReaderFocusable, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollbarFadingEnabled, setScrollBarSize, setScrollBarStyle, setScrollCaptureCallback, setScrollCaptureHint, setScrollContainer, setScrollIndicators, setScrollIndicators, setScrollX, setScrollY, setSelected, setSoundEffectsEnabled, setStateDescription, setStateListAnimator, setSystemGestureExclusionRects, setSystemUiVisibility, setTag, setTag, setTextAlignment, setTextDirection, setTooltipText, setTop, setTouchDelegate, setTransitionAlpha, setTransitionName, setTransitionVisibility, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVerticalScrollbarThumbDrawable, setVerticalScrollbarTrackDrawable, setViewTranslationCallback, setVisibility, setWillNotCacheDrawing, setWillNotDraw, setX, setY, setZ, showContextMenu, showContextMenu, startActionMode, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, transformMatrixToGlobal, transformMatrixToLocal, 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 io.flutter.plugin.mouse.MouseCursorPlugin.MouseCursorViewDelegate
setPointerIcon
-
Methods inherited from interface android.view.ViewParent
canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, createContextMenu, getLayoutDirection, getParent, getParentForAccessibility, getTextAlignment, getTextDirection, isLayoutDirectionResolved, isLayoutRequested, isTextAlignmentResolved, isTextDirectionResolved, keyboardNavigationClusterSearch, requestFitSystemWindows, requestLayout
-
-
-
-
Constructor Detail
-
FlutterView
public FlutterView(@NonNull Context context)Constructs aFlutterViewprogrammatically, without any XML attributes.- A
FlutterSurfaceViewis used to render the Flutter UI. transparencyModedefaults toTransparencyMode.opaque.
FlutterViewrequires anActivityinstead of a genericContextto be compatible withPlatformViewsController. - A
-
FlutterView
@Deprecated public FlutterView(@NonNull Context context, @NonNull RenderMode renderMode)
Deprecated.Deprecated - useFlutterView(Context, FlutterSurfaceView)orFlutterView(Context, FlutterTextureView)orFlutterView(Context, FlutterImageView)instead.
-
FlutterView
@Deprecated public FlutterView(@NonNull Context context, @NonNull TransparencyMode transparencyMode)
Deprecated.Deprecated - useFlutterView(Context, FlutterSurfaceView)orFlutterView(Context, FlutterTextureView)instead, and configure the incomingFlutterSurfaceVieworFlutterTextureViewfor transparency as desired.Constructs a
FlutterViewprogrammatically, without any XML attributes, uses aFlutterSurfaceViewto render the Flutter UI, and allows selection of atransparencyMode.FlutterViewrequires anActivityinstead of a genericContextto be compatible withPlatformViewsController.
-
FlutterView
public FlutterView(@NonNull Context context, @NonNull FlutterSurfaceView flutterSurfaceView)Constructs aFlutterViewprogrammatically, without any XML attributes, uses the givenFlutterSurfaceViewto render the Flutter UI, and allows selection of atransparencyMode.FlutterViewrequires anActivityinstead of a genericContextto be compatible withPlatformViewsController.
-
FlutterView
public FlutterView(@NonNull Context context, @NonNull FlutterTextureView flutterTextureView)Constructs aFlutterViewprogrammatically, without any XML attributes, uses the givenFlutterTextureViewto render the Flutter UI, and allows selection of atransparencyMode.FlutterViewrequires anActivityinstead of a genericContextto be compatible withPlatformViewsController.
-
FlutterView
public FlutterView(@NonNull Context context, @NonNull FlutterImageView flutterImageView)Constructs aFlutterViewprogrammatically, without any XML attributes, uses the givenFlutterImageViewto render the Flutter UI.FlutterViewrequires anActivityinstead of a genericContextto be compatible withPlatformViewsController.
-
FlutterView
public FlutterView(@NonNull Context context, @Nullable AttributeSet attrs)Constructs aFlutterViewin an XML-inflation-compliant manner.FlutterViewrequires anActivityinstead of a genericContextto be compatible withPlatformViewsController.
-
FlutterView
@Deprecated public FlutterView(@NonNull Context context, @NonNull RenderMode renderMode, @NonNull TransparencyMode transparencyMode)
Deprecated.Deprecated - useFlutterView(Context, FlutterSurfaceView)orFlutterView(Context, FlutterTextureView)instead, and configure the incomingFlutterSurfaceVieworFlutterTextureViewfor transparency as desired.
-
-
Method Detail
-
hasRenderedFirstFrame
public boolean hasRenderedFirstFrame()
Returns true if an attachedFlutterEnginehas rendered at least 1 frame to thisFlutterView.Returns false if no
FlutterEngineis attached.This flag is specific to a given
FlutterEngine. The following hypothetical timeline demonstrates how this flag changes over time.flutterEngineAis attached to thisFlutterView: returns falseflutterEngineArenders its first frame to thisFlutterView: returns trueflutterEngineAis detached from thisFlutterView: returns falseflutterEngineBis attached to thisFlutterView: returns falseflutterEngineBrenders its first frame to thisFlutterView: returns true
-
addOnFirstFrameRenderedListener
public void addOnFirstFrameRenderedListener(@NonNull FlutterUiDisplayListener listener)Adds the givenlistenerto thisFlutterView, to be notified upon Flutter's first rendered frame.
-
removeOnFirstFrameRenderedListener
public void removeOnFirstFrameRenderedListener(@NonNull FlutterUiDisplayListener listener)Removes the givenlistener, which was previously added withaddOnFirstFrameRenderedListener(FlutterUiDisplayListener).
-
onConfigurationChanged
protected void onConfigurationChanged(@NonNull Configuration newConfig)Sends relevant configuration data from Android to Flutter when the AndroidConfigurationchanges.The Android
Configurationmight change as a result of device orientation change, device language change, device text scale factor change, etc.- Overrides:
onConfigurationChangedin classView
-
onSizeChanged
protected void onSizeChanged(int width, int height, int oldWidth, int oldHeight)Invoked when thisFlutterViewchanges size, including upon initial measure.The initial measure reports an
oldWidthandoldHeightof zero.Flutter cares about the width and height of the view that displays it on the host platform. Therefore, when this method is invoked, the new width and height are communicated to Flutter as the "physical size" of the view that displays Flutter's UI.
- Overrides:
onSizeChangedin classView
-
createWindowInfoRepo
protected WindowInfoRepositoryCallbackAdapterWrapper createWindowInfoRepo()
-
onAttachedToWindow
protected void onAttachedToWindow()
Invoked when this is attached to the window.We register for
WindowInfoTrackerupdates.- Overrides:
onAttachedToWindowin classViewGroup
-
onDetachedFromWindow
protected void onDetachedFromWindow()
Invoked when this is detached from the window.We unregister from
WindowInfoTrackerupdates.- Overrides:
onDetachedFromWindowin classViewGroup
-
setWindowInfoListenerDisplayFeatures
protected void setWindowInfoListenerDisplayFeatures(androidx.window.layout.WindowLayoutInfo layoutInfo)
RefreshWindowInfoTrackerandDisplayCutoutdisplay features. Fold, hinge and cutout areas are populated here.
-
onApplyWindowInsets
@RequiresApi(20) @NonNull public final WindowInsets onApplyWindowInsets(@NonNull WindowInsets insets)
Invoked when Android's desired window insets change, i.e., padding.Flutter does not use a standard
Viewhierarchy and therefore Flutter is unaware of these insets. Therefore, this method calculates the viewport metrics that Flutter should use and then sends those metrics to Flutter.This callback is not present in API < 20, which means lower API devices will see the wider than expected padding when the status and navigation bars are hidden.
- Overrides:
onApplyWindowInsetsin classView
-
fitSystemWindows
protected boolean fitSystemWindows(@NonNull Rect insets)Invoked when Android's desired window insets change, i.e., padding.fitSystemWindowsis an earlier version ofonApplyWindowInsets(WindowInsets). See that method for more details about how window insets relate to Flutter.- Overrides:
fitSystemWindowsin classView
-
onCreateInputConnection
@Nullable public InputConnection onCreateInputConnection(@NonNull EditorInfo outAttrs)
Creates anInputConnectionto work with aInputMethodManager.Any
Viewthat can take focus or process text input must implement this method by returning a non-nullInputConnection. Flutter may render one or many focusable and text-input widgets, thereforeFlutterViewmust support anInputConnection.The
InputConnectionreturned from this method comes from aTextInputPlugin, which is owned by thisFlutterView. ATextInputPluginexists to encapsulate the nuances of input communication, rather than spread that logic throughout thisFlutterView.- Overrides:
onCreateInputConnectionin classView
-
checkInputConnectionProxy
public boolean checkInputConnectionProxy(View view)
Allows aViewthat is not currently the input connection target to invoke commands on theInputMethodManager, which is otherwise disallowed.Returns true to allow non-input-connection-targets to invoke methods on
InputMethodManager, or false to exclusively allow the input connection target to invoke such methods.- Overrides:
checkInputConnectionProxyin classView
-
dispatchKeyEvent
public boolean dispatchKeyEvent(@NonNull KeyEvent event)Invoked when a hardware key is pressed or released.This method is typically invoked in response to the press of a physical keyboard key or a D-pad button. It is generally not invoked when a virtual software keyboard is used, though a software keyboard may choose to invoke this method in some situations.
KeyEvents are sent from Android to Flutter.KeyboardManagermay do some additional work with the givenKeyEvent, e.g., combine thiskeyCodewith the previouskeyCodeto generate a unicode combined character.- Overrides:
dispatchKeyEventin classViewGroup
-
onTouchEvent
public boolean onTouchEvent(@NonNull MotionEvent event)Invoked by Android when a user touch event occurs.Flutter handles all of its own gesture detection and processing, therefore this method forwards all
MotionEventdata from Android to Flutter.- Overrides:
onTouchEventin classView
-
onGenericMotionEvent
public boolean onGenericMotionEvent(@NonNull MotionEvent event)Invoked by Android when a generic motion event occurs, e.g., joystick movement, mouse hover, track pad touches, scroll wheel movements, etc.Flutter handles all of its own gesture detection and processing, therefore this method forwards all
MotionEventdata from Android to Flutter.- Overrides:
onGenericMotionEventin classView
-
onHoverEvent
public boolean onHoverEvent(@NonNull MotionEvent event)Invoked by Android when a hover-compliant input system causes a hover event.An example of hover events is a stylus sitting near an Android screen. As the stylus moves from outside a
Viewto hover over aView, or move around within aView, or moves from over aViewto outside aView, a correspondingMotionEventis reported via this method.Hover events can be used for accessibility touch exploration and therefore are processed here for accessibility purposes.
- Overrides:
onHoverEventin classView
-
getAccessibilityNodeProvider
@Nullable public AccessibilityNodeProvider getAccessibilityNodeProvider()
- Overrides:
getAccessibilityNodeProviderin classView
-
findViewByAccessibilityIdTraversal
@Nullable public View findViewByAccessibilityIdTraversal(int accessibilityId)
Prior to Android Q, it's impossible to add real views as descendants of virtual nodes. This breaks accessibility when an Android view is embedded in a Flutter app.This method overrides a hidden method in
ViewGroupto workaround this limitation. This solution is derivated from Jetpack Compose, and can be found in the Android source code as well.This workaround finds the descendant
Viewthat matches the provided accessibility id.- Parameters:
accessibilityId- The view accessibility id.- Returns:
- The view matching the accessibility id if any.
-
getSystemPointerIcon
@RequiresApi(24) @NonNull public PointerIcon getSystemPointerIcon(int type)
Description copied from interface:io.flutter.plugin.mouse.MouseCursorPlugin.MouseCursorViewDelegateGets a system pointer icon object for the giventype.If typeis not recognized, returns the default pointer icon.
This is typically implemented by calling
PointerIcon.getSystemIcon(android.content.Context, int)with the context associated with this view.- Specified by:
getSystemPointerIconin interfaceio.flutter.plugin.mouse.MouseCursorPlugin.MouseCursorViewDelegate
-
getBinaryMessenger
public BinaryMessenger getBinaryMessenger()
Description copied from interface:KeyboardManager.ViewDelegateReturns aBinaryMessengerto send platform messages with.- Specified by:
getBinaryMessengerin interfaceKeyboardManager.ViewDelegate
-
onTextInputKeyEvent
public boolean onTextInputKeyEvent(@NonNull KeyEvent keyEvent)Description copied from interface:KeyboardManager.ViewDelegateSend aKeyEventthat is not handled by the keyboard responders to the text input system.- Specified by:
onTextInputKeyEventin interfaceKeyboardManager.ViewDelegate- Parameters:
keyEvent- theKeyEventthat should be processed by the text input system. It must not be null.- Returns:
- Whether the text input handles the key event.
-
redispatch
public void redispatch(@NonNull KeyEvent keyEvent)Description copied from interface:KeyboardManager.ViewDelegateSend aKeyEventthat is not handled by Flutter back to the platform.- Specified by:
redispatchin interfaceKeyboardManager.ViewDelegate
-
attachToFlutterEngine
public void attachToFlutterEngine(@NonNull FlutterEngine flutterEngine)Connects thisFlutterViewto the givenFlutterEngine.This
FlutterViewwill begin rendering the UI painted by the givenFlutterEngine. ThisFlutterViewwill also begin forwarding interaction events from thisFlutterViewto the givenFlutterEngine, e.g., user touch events, accessibility events, keyboard events, and others.See
detachFromFlutterEngine()for information on how to detach from aFlutterEngine.
-
detachFromFlutterEngine
public void detachFromFlutterEngine()
Disconnects thisFlutterViewfrom a previously attachedFlutterEngine.This
FlutterViewwill clear its UI and stop forwarding all events to the previously-attachedFlutterEngine. This includes touch events, accessibility events, keyboard events, and others.See
attachToFlutterEngine(FlutterEngine)for information on how to attach aFlutterEngine.
-
createImageView
@NonNull public FlutterImageView createImageView()
-
getCurrentImageSurface
public FlutterImageView getCurrentImageSurface()
-
convertToImageView
public void convertToImageView()
Converts the current render surface to aFlutterImageViewif it's not one already. Otherwise, it resizes theFlutterImageViewbased on the current view size.
-
revertImageView
public void revertImageView(@NonNull Runnable onDone)If the surface is rendered by aFlutterImageView, then calling this method will stop rendering to aFlutterImageView, and render on the previous surface instead.- Parameters:
onDone- a callback called when Flutter UI is rendered on the previous surface. Use this callback to perform cleanups. For example, destroy overlay surfaces.
-
attachOverlaySurfaceToRender
public void attachOverlaySurfaceToRender(@NonNull FlutterImageView view)
-
acquireLatestImageViewFrame
public boolean acquireLatestImageViewFrame()
-
isAttachedToFlutterEngine
public boolean isAttachedToFlutterEngine()
Returns true if thisFlutterViewis currently attached to aFlutterEngine.
-
getAttachedFlutterEngine
@Nullable public FlutterEngine getAttachedFlutterEngine()
Returns theFlutterEngineto which thisFlutterViewis currently attached, or null if thisFlutterViewis not currently attached to aFlutterEngine.
-
addFlutterEngineAttachmentListener
public void addFlutterEngineAttachmentListener(@NonNull FlutterView.FlutterEngineAttachmentListener listener)Adds aFlutterView.FlutterEngineAttachmentListener, which is notified whenever thisFlutterViewattached to/detaches from aFlutterEngine.
-
removeFlutterEngineAttachmentListener
public void removeFlutterEngineAttachmentListener(@NonNull FlutterView.FlutterEngineAttachmentListener listener)Removes aFlutterView.FlutterEngineAttachmentListenerthat was previously added withaddFlutterEngineAttachmentListener(FlutterEngineAttachmentListener).
-
onProvideAutofillVirtualStructure
public void onProvideAutofillVirtualStructure(@NonNull ViewStructure structure, int flags)- Overrides:
onProvideAutofillVirtualStructurein classView
-
autofill
public void autofill(@NonNull SparseArray<AutofillValue> values)
-
-