Class FlutterView
- All Implemented Interfaces:
Drawable.Callback,AccessibilityEventSource,KeyEvent.Callback,ViewManager,ViewParent,KeyboardManager.ViewDelegate,io.flutter.plugin.mouse.MouseCursorPlugin.MouseCursorViewDelegate
A FlutterView's UI is painted by a corresponding FlutterEngine.
A FlutterView can operate in 2 different RenderModes:
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.
SurfaceView and TextureView.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceListener that is notified when aFlutterEngineis attached to/detached from a givenFlutterView.static enumNested classes/interfaces inherited from class android.widget.FrameLayout
FrameLayout.LayoutParamsNested classes/interfaces inherited from class android.view.ViewGroup
ViewGroup.MarginLayoutParams, ViewGroup.OnHierarchyChangeListenerNested 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_CACHEFields inherited from class android.view.View
ACCESSIBILITY_DATA_SENSITIVE_AUTO, ACCESSIBILITY_DATA_SENSITIVE_NO, ACCESSIBILITY_DATA_SENSITIVE_YES, 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, CONTENT_SENSITIVITY_AUTO, CONTENT_SENSITIVITY_NOT_SENSITIVE, CONTENT_SENSITIVITY_SENSITIVE, DRAG_FLAG_ACCESSIBILITY_ACTION, DRAG_FLAG_GLOBAL, DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION, DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION, DRAG_FLAG_GLOBAL_SAME_APPLICATION, DRAG_FLAG_GLOBAL_URI_READ, DRAG_FLAG_GLOBAL_URI_WRITE, DRAG_FLAG_HIDE_CALLING_TASK_ON_DRAG_START, DRAG_FLAG_OPAQUE, DRAG_FLAG_START_INTENT_SENDER_ON_UNHANDLED_DRAG, 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, REQUESTED_FRAME_RATE_CATEGORY_DEFAULT, REQUESTED_FRAME_RATE_CATEGORY_HIGH, REQUESTED_FRAME_RATE_CATEGORY_LOW, REQUESTED_FRAME_RATE_CATEGORY_NO_PREFERENCE, REQUESTED_FRAME_RATE_CATEGORY_NORMAL, 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
ConstructorsConstructorDescriptionFlutterView(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
Modifier and TypeMethodDescriptionbooleanvoidAdds aFlutterView.FlutterEngineAttachmentListener, which is notified whenever thisFlutterViewattached to/detaches from aFlutterEngine.voidAdds the givenlistenerto thisFlutterView, to be notified upon Flutter's first rendered frame.voidvoidattachToFlutterEngine(FlutterEngine flutterEngine) Connects thisFlutterViewto the givenFlutterEngine.voidautofill(SparseArray<AutofillValue> values) This method can be run on APIs 30 and above but its intended use is for 30 and below.booleanAllows aViewthat is not currently the input connection target to invoke commands on theInputMethodManager, which is otherwise disallowed.voidConverts the current render surface to aFlutterImageViewif it's not one already.voidDisconnects thisFlutterViewfrom a previously attachedFlutterEngine.booleandispatchKeyEvent(KeyEvent event) Invoked when a hardware key is pressed or released.findViewByAccessibilityIdTraversal(int accessibilityId) Prior to Android Q, it's impossible to add real views as descendants of virtual nodes.Returns theFlutterEngineto which thisFlutterViewis currently attached, or null if thisFlutterViewis not currently attached to aFlutterEngine.Returns aBinaryMessengerto send platform messages with.getSystemPointerIcon(int type) Gets a system pointer icon object for the giventype.Allow access to the viewport metrics so that tests can set them to be valid with nonzero dimensions.booleanReturns true if an attachedFlutterEnginehas rendered at least 1 frame to thisFlutterView.booleanReturns true if thisFlutterViewis currently attached to aFlutterEngine.final WindowInsetsonApplyWindowInsets(WindowInsets insets) Invoked when Android's desired window insets change, i.e., padding.protected voidInvoked when this is attached to the window.protected voidonConfigurationChanged(Configuration newConfig) Sends relevant configuration data from Android to Flutter when the AndroidConfigurationchanges.onCreateInputConnection(EditorInfo outAttrs) Creates anInputConnectionto work with aInputMethodManager.protected voidInvoked 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.voidRemoves aFlutterView.FlutterEngineAttachmentListenerthat was previously added withaddFlutterEngineAttachmentListener(FlutterEngineAttachmentListener).voidRemoves 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.voidsetDelegate(FlutterViewDelegate delegate) voidsetVisibility(int visibility) 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, shouldDelayChildPressedStateMethods 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, findOnBackInvokedDispatcherForChild, 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, propagateRequestedFrameRate, 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, setRequestedFrameRate, setStaticTransformationsEnabled, setTouchscreenBlocksFocus, setTransitionGroup, setWindowInsetsAnimationCallback, showContextMenuForChild, showContextMenuForChild, startActionModeForChild, startActionModeForChild, startLayoutAnimation, startViewTransition, suppressLayout, updateViewLayoutMethods 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, clearPendingCredentialRequest, clearViewTranslationCallback, combineMeasuredStates, computeHorizontalScrollExtent, computeHorizontalScrollOffset, computeHorizontalScrollRange, computeScroll, computeSystemWindowInsets, computeVerticalScrollExtent, computeVerticalScrollOffset, computeVerticalScrollRange, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchGenericMotionEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPopulateAccessibilityEvent, draw, drawableHotspotChanged, findOnBackInvokedDispatcher, findViewById, findViewWithTag, fitSystemWindows, focusSearch, forceHasOverlappingRendering, forceLayout, generateDisplayHash, generateViewId, getAccessibilityDelegate, getAccessibilityLiveRegion, getAccessibilityPaneTitle, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, getAllowedHandwritingDelegatePackageName, getAllowedHandwritingDelegatorPackageName, getAlpha, getAnimation, getAnimationMatrix, getApplicationWindowToken, getAttributeResolutionStack, getAttributeSourceResourceMap, getAutofillHints, getAutofillId, getAutofillType, getAutofillValue, getBackground, getBackgroundTintBlendMode, getBackgroundTintList, getBackgroundTintMode, getBaseline, getBottom, getBottomFadingEdgeStrength, getBottomPaddingOffset, getCameraDistance, getClipBounds, getClipBounds, getClipToOutline, getContentCaptureSession, getContentDescription, getContentSensitivity, getContext, getContextMenuInfo, getDefaultFocusHighlightEnabled, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getElevation, getExplicitStyle, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusable, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getForegroundTintBlendMode, getForegroundTintList, getForegroundTintMode, getFrameContentVelocity, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, getHandwritingBoundsOffsetBottom, getHandwritingBoundsOffsetLeft, getHandwritingBoundsOffsetRight, getHandwritingBoundsOffsetTop, getHandwritingDelegateFlags, getHandwritingDelegatorCallback, 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, getPendingCredentialCallback, getPendingCredentialRequest, getPivotX, getPivotY, getPointerIcon, getPreferKeepClearRects, getReceiveContentMimeTypes, getRequestedFrameRate, 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, getSupplementalDescription, 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, isAccessibilityDataSensitive, isAccessibilityFocused, isAccessibilityHeading, isActivated, isAttachedToWindow, isAutoHandwritingEnabled, isClickable, isContentSensitive, isContextClickable, isCredential, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFocusedByDefault, isForceDarkAllowed, isHandwritingDelegate, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isImportantForAutofill, isImportantForContentCapture, isInEditMode, isInLayout, isInTouchMode, isKeyboardNavigationCluster, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isOpaque, isPaddingOffsetRequired, isPaddingRelative, isPivotSet, isPreferKeepClear, 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, reportAppJankStats, requestApplyInsets, requestFitSystemWindows, requestFocus, requestFocus, requestFocusFromTouch, requestLayout, requestPointerCapture, requestRectangleOnScreen, requestRectangleOnScreen, requestUnbufferedDispatch, requestUnbufferedDispatch, requireViewById, resetPivot, resolveSize, resolveSizeAndState, restoreHierarchyState, saveAttributeDataForStyleable, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDataSensitive, setAccessibilityDelegate, setAccessibilityHeading, setAccessibilityLiveRegion, setAccessibilityPaneTitle, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAllowClickWhenDisabled, setAllowedHandwritingDelegatePackage, setAllowedHandwritingDelegatorPackage, setAlpha, setAnimation, setAnimationMatrix, setAutofillHints, setAutofillId, setAutoHandwritingEnabled, setBackground, setBackgroundColor, setBackgroundDrawable, setBackgroundResource, setBackgroundTintBlendMode, setBackgroundTintList, setBackgroundTintMode, setBottom, setCameraDistance, setClickable, setClipBounds, setClipToOutline, setContentCaptureSession, setContentDescription, setContentSensitivity, setContextClickable, setDefaultFocusHighlightEnabled, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setElevation, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusable, setFocusableInTouchMode, setFocusedByDefault, setForceDarkAllowed, setForeground, setForegroundTintBlendMode, setForegroundTintList, setForegroundTintMode, setFrameContentVelocity, setHandwritingBoundsOffsets, setHandwritingDelegateFlags, setHandwritingDelegatorCallback, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHorizontalScrollbarThumbDrawable, setHorizontalScrollbarTrackDrawable, setHovered, setId, setImportantForAccessibility, setImportantForAutofill, setImportantForContentCapture, setIsCredential, setIsHandwritingDelegate, 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, setPendingCredentialRequest, setPivotX, setPivotY, setPointerIcon, setPreferKeepClear, setPreferKeepClearRects, 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, setSupplementalDescription, setSystemGestureExclusionRects, setSystemUiVisibility, setTag, setTag, setTextAlignment, setTextDirection, setTooltipText, setTop, setTouchDelegate, setTransitionAlpha, setTransitionName, setTransitionVisibility, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVerticalScrollbarThumbDrawable, setVerticalScrollbarTrackDrawable, setViewTranslationCallback, setWillNotCacheDrawing, setWillNotDraw, setX, setY, setZ, showContextMenu, showContextMenu, startActionMode, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, transformMatrixToGlobal, transformMatrixToLocal, unscheduleDrawable, unscheduleDrawable, updateDragShadow, verifyDrawable, willNotCacheDrawing, willNotDrawMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface io.flutter.plugin.mouse.MouseCursorPlugin.MouseCursorViewDelegate
setPointerIconMethods inherited from interface android.view.ViewParent
canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, createContextMenu, getLayoutDirection, getParent, getParentForAccessibility, getTextAlignment, getTextDirection, isLayoutDirectionResolved, isLayoutRequested, isTextAlignmentResolved, isTextDirectionResolved, keyboardNavigationClusterSearch, requestFitSystemWindows, requestLayout
-
Constructor Details
-
FlutterView
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.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
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
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
Constructs aFlutterViewprogrammatically, without any XML attributes, uses the givenFlutterImageViewto render the Flutter UI.FlutterViewrequires anActivityinstead of a genericContextto be compatible withPlatformViewsController. -
FlutterView
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 Details
-
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
Adds the givenlistenerto thisFlutterView, to be notified upon Flutter's first rendered frame. -
removeOnFirstFrameRenderedListener
Removes the givenlistener, which was previously added withaddOnFirstFrameRenderedListener(FlutterUiDisplayListener). -
onConfigurationChanged
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
-
onAttachedToWindow
@RequiresApi(28) 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
@RequiresApi(28) protected void setWindowInfoListenerDisplayFeatures(androidx.window.layout.WindowLayoutInfo layoutInfo) RefreshWindowInfoTrackerandDisplayCutoutdisplay features. Fold, hinge and cutout areas are populated here. -
calculateShouldZeroSides
@DeprecatedSinceApi(api=30) @VisibleForTesting public FlutterView.ZeroSides calculateShouldZeroSides()This method can be run on APIs 30 and above but its intended use is for 30 and below.- Returns:
- some ZeroSides enum
-
onApplyWindowInsets
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
-
onCreateInputConnection
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
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
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
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
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
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
- Overrides:
getAccessibilityNodeProviderin classView
-
findViewByAccessibilityIdTraversal
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
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
Description copied from interface:KeyboardManager.ViewDelegateReturns aBinaryMessengerto send platform messages with.- Specified by:
getBinaryMessengerin interfaceKeyboardManager.ViewDelegate
-
onTextInputKeyEvent
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
Description copied from interface:KeyboardManager.ViewDelegateSend aKeyEventthat is not handled by Flutter back to the platform.- Specified by:
redispatchin interfaceKeyboardManager.ViewDelegate
-
attachToFlutterEngine
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
@RequiresApi(24) 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
-
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
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
-
acquireLatestImageViewFrame
public boolean acquireLatestImageViewFrame() -
isAttachedToFlutterEngine
@VisibleForTesting public boolean isAttachedToFlutterEngine()Returns true if thisFlutterViewis currently attached to aFlutterEngine. -
getAttachedFlutterEngine
Returns theFlutterEngineto which thisFlutterViewis currently attached, or null if thisFlutterViewis not currently attached to aFlutterEngine. -
addFlutterEngineAttachmentListener
@VisibleForTesting public void addFlutterEngineAttachmentListener(@NonNull FlutterView.FlutterEngineAttachmentListener listener) Adds aFlutterView.FlutterEngineAttachmentListener, which is notified whenever thisFlutterViewattached to/detaches from aFlutterEngine. -
removeFlutterEngineAttachmentListener
@VisibleForTesting public void removeFlutterEngineAttachmentListener(@NonNull FlutterView.FlutterEngineAttachmentListener listener) Removes aFlutterView.FlutterEngineAttachmentListenerthat was previously added withaddFlutterEngineAttachmentListener(FlutterEngineAttachmentListener). -
setDelegate
-
onProvideAutofillVirtualStructure
- Overrides:
onProvideAutofillVirtualStructurein classView
-
autofill
-
setVisibility
public void setVisibility(int visibility) - Overrides:
setVisibilityin classView
-
getViewportMetrics
Allow access to the viewport metrics so that tests can set them to be valid with nonzero dimensions.
-