AnnotationsView


class AnnotationsView : ViewGroup


A custom Android ViewGroup responsible for drawing a collection of annotations onto a Canvas. Each set of page annotations can have its own transformation matrix. It also supports annotating like text highlighting.

This inherits ViewGroup but does not support adding arbitrary children via addView or in a layout.

Summary

Nested types

Defines the current interaction mode of the AnnotationsView.

Mode for creating new highlight annotations.

Mode for selecting existing annotations (e.g. erase, drag, scale).

Callback interface for events related to the creation and modification of annotations.

Callback interface for annotation hit events.

Callback interface for gesture coordination events.

Public constructors

AnnotationsView(context: Context, attrs: AttributeSet?, defStyleAttr: Int)

Public functions

Unit

Adds a listener for events related to the finalized creation or failure of annotations.

Unit

Adds a listener for annotation hit events.

open Unit
addView(child: View?)
open Unit
addView(child: View?, index: Int)
open Unit
addView(child: View?, params: ViewGroup.LayoutParams?)
open Unit
addView(child: View?, index: Int, params: ViewGroup.LayoutParams?)
open Boolean
Unit

Removes a listener that was previously added via addOnAnnotationEditListener.

Unit

Removes a listener that was previously added via addOnAnnotationLocatedListener.

Unit

Sets a listener to be notified when this view claims or abandons the current gesture stream.

Unit

Sets the TextBoundsProvider used to retrieve text boundary information during highlighting.

Unit
@MainThread
updateDisplayState(
    pdfViewportState: PdfViewportState,
    annotations: SparseArray<List<KeyedPdfAnnotation>>
)

Updates both the content and the layout positioning of the annotations in a single atomic operation.

Protected functions

open Unit
onDraw(canvas: Canvas)
open Unit
onLayout(changed: Boolean, left: Int, top: Int, right: Int, bottom: Int)
open Unit
onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int)

Public properties

AnnotationsView.AnnotationMode?

The current interaction mode, determining how touch events are handled for annotations.

Inherited functions

From android.view.accessibility.AccessibilityEventSource
From android.graphics.drawable.Drawable.Callback
open Unit
open Unit
scheduleDrawable(who: Drawable, what: Runnable, when: Long)
open Unit
From android.view.KeyEvent.Callback
open Boolean
onKeyDown(keyCode: Int, event: KeyEvent)
open Boolean
onKeyLongPress(keyCode: Int, event: KeyEvent)
open Boolean
onKeyMultiple(keyCode: Int, repeatCount: Int, event: KeyEvent)
open Boolean
onKeyUp(keyCode: Int, event: KeyEvent)
From android.view.View
open Unit
open Unit
addExtraDataToAccessibilityNodeInfo(
    info: AccessibilityNodeInfo,
    extraDataKey: String,
    arguments: Bundle?
)
open Unit
addFocusables(views: ArrayList<View>, direction: Int)
open Unit
addFocusables(views: ArrayList<View>, direction: Int, focusableMode: Int)
open Unit
addKeyboardNavigationClusters(
    views: MutableCollection<View>,
    direction: Int
)
open Unit
open Unit
open Unit
open Unit
open ViewPropertyAnimator
open Unit

This function is deprecated. Deprecated in Java

open Unit
open Unit
open Boolean
open Boolean
awakenScrollBars(startDelay: Int)
open Boolean
awakenScrollBars(startDelay: Int, invalidate: Boolean)
open Unit
open Unit

This function is deprecated. Deprecated in Java

open Unit

This function is deprecated. Deprecated in Java

open Unit
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
Unit
open Unit
Unit
open Boolean
open Unit
open Unit
open Unit
open Unit
open Int
open Int
open Int
open Unit
open WindowInsets
open Int
open Int
open Int
open AccessibilityNodeInfo
open Unit
open Unit

This function is deprecated. Deprecated in Java

open WindowInsets
open Boolean
open Unit
open Unit
dispatchCreateViewTranslationRequest(
    viewIds: MutableMap<AutofillIdLongArray>,
    supportedFormats: IntArray,
    capability: TranslationCapability?,
    requests: MutableList<ViewTranslationRequest>
)
open Unit
open Boolean
open Unit
open Unit
open Unit
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
dispatchNestedFling(velocityX: Float, velocityY: Float, consumed: Boolean)
open Boolean
dispatchNestedPreFling(velocityX: Float, velocityY: Float)
open Boolean
dispatchNestedPrePerformAccessibilityAction(
    action: Int,
    arguments: Bundle?
)
open Boolean
dispatchNestedPreScroll(
    dx: Int,
    dy: Int,
    consumed: IntArray?,
    offsetInWindow: IntArray?
)
open Boolean
dispatchNestedScroll(
    dxConsumed: Int,
    dyConsumed: Int,
    dxUnconsumed: Int,
    dyUnconsumed: Int,
    offsetInWindow: IntArray?
)
open Unit
open Boolean
open Unit
open Unit
open Unit
open Unit
open Unit
dispatchScrollCaptureSearch(
    localVisibleRect: Rect,
    windowOffset: Point,
    targets: Consumer<ScrollCaptureTarget>
)
open Unit
open Unit
open Unit
open Unit
open Unit

This function is deprecated. Deprecated in Java

open Boolean
open Boolean
open Boolean
dispatchUnhandledMove(focused: View, direction: Int)
open Unit
dispatchVisibilityChanged(changedView: View, visibility: Int)
open Unit
open Unit
open Unit
open WindowInsets
open WindowInsetsAnimation.Bounds
open Unit

This function is deprecated. Deprecated in Java

open Unit
open Unit
draw(canvas: Canvas)
open Unit
open Unit
open View
OnBackInvokedDispatcher?
T
<T : View> findViewById(id: Int)
T
<T : View> findViewWithTag(tag: Any)
open Unit
findViewsWithText(
    outViews: ArrayList<View>,
    text: CharSequence,
    flags: Int
)
open Boolean

This function is deprecated. Deprecated in Java

open View
focusSearch(direction: Int)
open Unit
forceHasOverlappingRendering(hasOverlappingRendering: Boolean)
open Unit
open Boolean
open Unit
generateDisplayHash(
    hashAlgorithm: String,
    bounds: Rect?,
    executor: Executor,
    callback: DisplayHashResultCallback
)
open IntArray
open Unit
getDrawingRect(outRect: Rect)
open ArrayList<View>
getFocusables(direction: Int)
open Unit
Boolean
open Boolean
getGlobalVisibleRect(r: Rect, globalOffset: Point)
open Unit
getHitRect(outRect: Rect)
open Int
@ViewDebug.ExportedProperty(category = "layout", mapping = [@ViewDebug.IntToString(from = 0, to = "RESOLVED_DIRECTION_LTR"), @ViewDebug.IntToString(from = 1, to = "RESOLVED_DIRECTION_RTL")])
getLayoutDirection()
Boolean
open Unit
open Unit
open Unit
ViewParent
open ViewParent
open Int
@ViewDebug.ExportedProperty(category = "text", mapping = [@ViewDebug.IntToString(from = 0, to = "INHERIT"), @ViewDebug.IntToString(from = 1, to = "GRAVITY"), @ViewDebug.IntToString(from = 2, to = "TEXT_START"), @ViewDebug.IntToString(from = 3, to = "TEXT_END"), @ViewDebug.IntToString(from = 4, to = "CENTER"), @ViewDebug.IntToString(from = 5, to = "VIEW_START"), @ViewDebug.IntToString(from = 6, to = "VIEW_END")])
getTextAlignment()
open Int
@ViewDebug.ExportedProperty(category = "text", mapping = [@ViewDebug.IntToString(from = 0, to = "INHERIT"), @ViewDebug.IntToString(from = 1, to = "FIRST_STRONG"), @ViewDebug.IntToString(from = 2, to = "ANY_RTL"), @ViewDebug.IntToString(from = 3, to = "LTR"), @ViewDebug.IntToString(from = 4, to = "RTL"), @ViewDebug.IntToString(from = 5, to = "LOCALE"), @ViewDebug.IntToString(from = 6, to = "FIRST_STRONG_LTR"), @ViewDebug.IntToString(from = 7, to = "FIRST_STRONG_RTL")])
getTextDirection()
open Unit
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Unit
open Unit
invalidate(dirty: Rect)

This function is deprecated. Deprecated in Java

open Unit
invalidate(l: Int, t: Int, r: Int, b: Int)

This function is deprecated. Deprecated in Java

open Unit
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Unit
open View
keyboardNavigationClusterSearch(currentCluster: View, direction: Int)
Unit
layout(l: Int, t: Int, r: Int, b: Int)
Unit
measure(widthMeasureSpec: Int, heightMeasureSpec: Int)
open Unit
open Unit
open Unit
open Unit
open WindowInsets
open Unit
open Unit
open Boolean
open Boolean
open Unit
open Unit
open IntArray
open InputConnection
open Unit
onCreateViewTranslationRequest(
    supportedFormats: IntArray,
    requestsCollector: Consumer<ViewTranslationRequest>
)
open Unit
onCreateVirtualViewTranslationRequests(
    virtualIds: LongArray,
    supportedFormats: IntArray,
    requestsCollector: Consumer<ViewTranslationRequest>
)
open Unit
open Unit
open Boolean
open Unit
Unit
open Boolean
open Unit
open Unit
open Unit
onFocusChanged(
    gainFocus: Boolean,
    direction: Int,
    previouslyFocusedRect: Rect?
)
open Boolean
open Unit
open Boolean
open Unit
open Unit
open Boolean
onKeyPreIme(keyCode: Int, event: KeyEvent)
open Boolean
onKeyShortcut(keyCode: Int, event: KeyEvent)
open Unit
onOverScrolled(
    scrollX: Int,
    scrollY: Int,
    clampedX: Boolean,
    clampedY: Boolean
)
open Unit
open Unit
open Unit
open Unit
open Unit
open Unit
open Unit
open ContentInfo?
open PointerIcon
onResolvePointerIcon(event: MotionEvent, pointerIndex: Int)
open Unit
open Unit
onRtlPropertiesChanged(layoutDirection: Int)
open Parcelable?
open Unit
onScreenStateChanged(screenState: Int)
open Unit
onScrollCaptureSearch(
    localVisibleRect: Rect,
    windowOffset: Point,
    targets: Consumer<ScrollCaptureTarget>
)
open Unit
onScrollChanged(l: Int, t: Int, oldl: Int, oldt: Int)
open Boolean
onSetAlpha(alpha: Int)
open Unit
onSizeChanged(w: Int, h: Int, oldw: Int, oldh: Int)
open Unit
open Boolean
open Unit
open Unit
open Unit
open Unit
onVisibilityChanged(changedView: View, visibility: Int)
open Unit
onWindowFocusChanged(hasWindowFocus: Boolean)
open Unit

This function is deprecated. Deprecated in Java

open Unit
open Boolean
overScrollBy(
    deltaX: Int,
    deltaY: Int,
    scrollX: Int,
    scrollY: Int,
    scrollRangeX: Int,
    scrollRangeY: Int,
    maxOverScrollX: Int,
    maxOverScrollY: Int,
    isTouchEvent: Boolean
)
open Boolean
performAccessibilityAction(action: Int, arguments: Bundle?)
open Boolean
open Boolean
open Boolean
open Boolean
performHapticFeedback(feedbackConstant: Int)
open Boolean
open Boolean
performHapticFeedback(feedbackConstant: Int, flags: Int)
open Boolean
open Boolean
open ContentInfo?
open Unit
playSoundEffect(soundConstant: Int)
open Boolean
post(action: Runnable)
open Boolean
postDelayed(action: Runnable, delayMillis: Long)
open Unit
open Unit
postInvalidate(left: Int, top: Int, right: Int, bottom: Int)
open Unit
postInvalidateDelayed(delayMilliseconds: Long)
open Unit
postInvalidateDelayed(
    delayMilliseconds: Long,
    left: Int,
    top: Int,
    right: Int,
    bottom: Int
)
open Unit
open Unit
postInvalidateOnAnimation(left: Int, top: Int, right: Int, bottom: Int)
open Unit
open Unit
postOnAnimationDelayed(action: Runnable, delayMillis: Long)
open Unit
open Unit
open Boolean
open Unit
open Unit
open Unit
open Unit
open Unit
open Unit

This function is deprecated. Deprecated in Java

Boolean
Boolean
requestFocus(direction: Int)
open Boolean
requestFocus(direction: Int, previouslyFocusedRect: Rect)
Boolean
open Unit
open Unit
open Unit
open Boolean
open Boolean
requestRectangleOnScreen(rectangle: Rect, immediate: Boolean)
open Boolean
requestRectangleOnScreen(rectangle: Rect, immediate: Boolean, source: Int)
Unit
Unit
T
<T : View> requireViewById(id: Int)
open Unit
open Boolean
open Unit
Unit
saveAttributeDataForStyleable(
    context: Context,
    styleable: IntArray,
    attrs: AttributeSet?,
    t: TypedArray,
    defStyleAttr: Int,
    defStyleRes: Int
)
open Unit
open Unit
scrollBy(x: Int, y: Int)
open Unit
scrollTo(x: Int, y: Int)
open Unit
setAccessibilityDataSensitive(accessibilityDataSensitive: Int)
open Unit
setAllowClickWhenDisabled(clickableWhenDisabled: Boolean)
open Unit
open Unit
open Unit
setAutofillHints(vararg autofillHints: String?)
open Unit
open Unit

This function is deprecated. Deprecated in Java

open Unit
open Unit
open Unit
setHandwritingBoundsOffsets(
    offsetLeft: Float,
    offsetTop: Float,
    offsetRight: Float,
    offsetBottom: Float
)
open Unit
setHasTransientState(hasTransientState: Boolean)
open Unit
setIsCredential(isCredential: Boolean)

This function is deprecated. Deprecated in Java

open Unit
setIsHandwritingDelegate(isHandwritingDelegate: Boolean)
open Unit
open Unit
setLayerType(layerType: Int, paint: Paint?)
Unit
setLeftTopRightBottom(left: Int, top: Int, right: Int, bottom: Int)
Unit
setMeasuredDimension(measuredWidth: Int, measuredHeight: Int)
open Unit
open Unit
open Unit
open Unit
open Unit
open Unit
open Unit
open Unit
open Unit
open Unit
open Unit
setOnReceiveContentListener(
    mimeTypes: Array<String>?,
    listener: OnReceiveContentListener?
)
open Unit
open Unit

This function is deprecated. Deprecated in Java

open Unit
open Unit
setPadding(left: Int, top: Int, right: Int, bottom: Int)
open Unit
setPaddingRelative(start: Int, top: Int, end: Int, bottom: Int)
open Unit
open Unit
setRenderEffect(renderEffect: RenderEffect?)
Unit
open Unit
open Unit
open Unit
setWillNotCacheDrawing(willNotCacheDrawing: Boolean)

This function is deprecated. Deprecated in Java

open Unit
setWillNotDraw(willNotDraw: Boolean)
open Unit
open Boolean
open Boolean
open ActionMode
open ActionMode
open Unit
Boolean
startDrag(
    data: ClipData,
    shadowBuilder: View.DragShadowBuilder,
    myLocalState: Any,
    flags: Int
)

This function is deprecated. Deprecated in Java

Boolean
startDragAndDrop(
    data: ClipData,
    shadowBuilder: View.DragShadowBuilder,
    myLocalState: Any,
    flags: Int
)
open Boolean
open Unit
open Unit
open Unit
open Unit
Unit
open Boolean
open Boolean

This function is deprecated. Deprecated in Java

open Boolean
@ViewDebug.ExportedProperty(category = "drawing")
willNotDraw()
From android.view.ViewGroup
open Boolean
open Unit
addView(child: View, width: Int, height: Int)
open Boolean
addViewInLayout(child: View, index: Int, params: ViewGroup.LayoutParams)
open Boolean
addViewInLayout(
    child: View,
    index: Int,
    params: ViewGroup.LayoutParams,
    preventRequestLayout: Boolean
)
open Unit
attachLayoutAnimationParameters(
    child: View,
    params: ViewGroup.LayoutParams,
    index: Int,
    count: Int
)
open Unit
attachViewToParent(child: View, index: Int, params: ViewGroup.LayoutParams)
open Boolean
open Boolean
open Unit
open Unit
open Unit
debug(depth: Int)
open Unit
open Unit
open Unit
open Unit
detachViewsFromParent(start: Int, count: Int)
open Unit
open Unit
open Boolean
drawChild(canvas: Canvas, child: View, drawingTime: Long)
open Unit
open ViewGroup.LayoutParams
open ViewGroup.LayoutParams
open ViewGroup.LayoutParams
open View
getChildAt(index: Int)
Int
getChildDrawingOrder(drawingPosition: Int)
open Int
getChildDrawingOrder(childCount: Int, drawingPosition: Int)
open Boolean
open Int
open Unit
measureChild(
    child: View,
    parentWidthMeasureSpec: Int,
    parentHeightMeasureSpec: Int
)
open Unit
measureChildWithMargins(
    child: View,
    parentWidthMeasureSpec: Int,
    widthUsed: Int,
    parentHeightMeasureSpec: Int,
    heightUsed: Int
)
open Unit
measureChildren(widthMeasureSpec: Int, heightMeasureSpec: Int)
Unit
Unit
open Boolean
open Boolean
open Boolean
onRequestFocusInDescendants(direction: Int, previouslyFocusedRect: Rect)
open Boolean
open Unit
onViewAdded(child: View)
open Unit
open Unit
propagateRequestedFrameRate(frameRate: Float, forceOverride: Boolean)
open Unit
open Unit
open Unit
removeDetachedView(child: View, animate: Boolean)
open Unit
removeViewAt(index: Int)
open Unit
open Unit
removeViews(start: Int, count: Int)
open Unit
removeViewsInLayout(start: Int, count: Int)
open Unit
open Unit
open Unit

This function is deprecated. Deprecated in Java

open Unit
open Unit
open Boolean
open Unit
open Unit
open Unit
From android.view.ViewManager
open Unit
open Unit
From android.view.ViewParent
open Unit
open Unit
open Unit
childHasTransientStateChanged(
    child: View,
    childHasTransientState: Boolean
)
open Unit
open OnBackInvokedDispatcher?
open View
focusSearch(focused: View, direction: Int)
open Unit
open Boolean
getChildVisibleRect(child: View, r: Rect, offset: Point)
Unit
invalidateChild(child: View, dirty: Rect)

This function is deprecated. Deprecated in Java

open ViewParent
invalidateChildInParent(location: IntArray, dirty: Rect)

This function is deprecated. Deprecated in Java

open Unit
notifySubtreeAccessibilityStateChanged(
    child: View,
    source: View,
    changeType: Int
)
open Unit
onDescendantInvalidated(child: View, target: View)
open Boolean
onNestedFling(
    target: View,
    velocityX: Float,
    velocityY: Float,
    consumed: Boolean
)
open Boolean
onNestedPreFling(target: View, velocityX: Float, velocityY: Float)
open Boolean
onNestedPrePerformAccessibilityAction(
    target: View,
    action: Int,
    args: Bundle?
)
open Unit
onNestedPreScroll(target: View, dx: Int, dy: Int, consumed: IntArray)
open Unit
onNestedScroll(
    target: View,
    dxConsumed: Int,
    dyConsumed: Int,
    dxUnconsumed: Int,
    dyUnconsumed: Int
)
open Unit
onNestedScrollAccepted(child: View, target: View, axes: Int)
open Boolean
onStartNestedScroll(child: View, target: View, nestedScrollAxes: Int)
open Unit
open Unit
open Unit
requestChildFocus(child: View, focused: View)
open Boolean
requestChildRectangleOnScreen(
    child: View,
    rectangle: Rect,
    immediate: Boolean
)
open Boolean
requestChildRectangleOnScreen(
    child: View,
    rectangle: Rect,
    immediate: Boolean,
    source: Int
)
open Unit
open Boolean
open Unit
open Boolean
open Boolean
showContextMenuForChild(originalView: View, x: Float, y: Float)
open ActionMode
startActionModeForChild(
    originalView: View,
    callback: ActionMode.Callback
)
open ActionMode
startActionModeForChild(
    originalView: View,
    callback: ActionMode.Callback,
    type: Int
)

Inherited properties

From android.view.View
open View.AccessibilityDelegate
open Int
open AccessibilityNodeProvider
open CharSequence?
open Int
open Int
open String?
open String?
open Float
open Animation
open Matrix?
open IBinder
open MutableMap<IntInt>
open Array<String>?
AutofillId
open Int
open AutofillValue?
open Drawable
open BlendMode?
open ColorStateList?
open PorterDuff.Mode?
open Int
Int
open Float
open Int
open Float
open Rect
Boolean
ContentCaptureSession?
open CharSequence
Int
Context
open ContextMenu.ContextMenuInfo
Boolean
open Display
IntArray
open Bitmap
open Int
open Int
open Long
open Float
open Int
open Boolean
open Boolean
open Int
open Drawable
open Int
open BlendMode?
open ColorStateList?
open PorterDuff.Mode?
open Float
open Handler
open Float
open Float
open Float
open Float
open Int
open Runnable?
Boolean
Int
open Int
open Int
open Drawable?
open Drawable?
open Int
open Int
open Int
open Int
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
Boolean
Boolean
open Boolean
Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
Boolean
Boolean
open Boolean
open Boolean
open Boolean
Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
Boolean
open Boolean
open Boolean
Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open Boolean
open KeyEvent.DispatcherState
open Int
open Int
open Int
open ViewGroup.LayoutParams
Int
open Float
open Int
open Matrix
Int
Int
Int
Int
Int
open Int
open Int
open Int
open Int
open Int
open Int
open Int
open Int
open View.OnFocusChangeListener
open Int
open ViewOutlineProvider
open Int
open Int
open Int
open Int
open Int
open Int
open Int
open Int
final ViewParent
open ViewParent
OutcomeReceiver<GetCredentialResponseGetCredentialException>?
GetCredentialRequest?
open Float
open Float
open PointerIcon
MutableList<Rect>
open Array<String>?
open Float
open Resources
Boolean
Int
open Float
open Int
open AttachedSurfaceControl?
open View
open WindowInsets
open Float
open Float
open Float
open Float
open Float
open Int
open Int
open Int
open Int
open Int
open Int
Int
Int
open Int
open Int
CharSequence?
open StateListAnimator
open Int
open Int
open CharSequence?
open MutableList<Rect>
open Int
open Any
open Int
open Int
open CharSequence?
Int
open Float
open Int
open TouchDelegate
open ArrayList<View>
open Float
open String
open Float
open Float
open Float
open Long
open Int
open Int
open Drawable?
open Drawable?
open Int
open ViewTranslationResponse?
open ViewTreeObserver
open Int
Int
open Int
open WindowId
open WindowInsetsController?
open Int
open IBinder
open Int
open Float
open Float
open Float
From android.view.ViewGroup

Public constructors

AnnotationsView

Added in 1.0.0-alpha19
AnnotationsView(
    context: Context,
    attrs: AttributeSet? = null,
    defStyleAttr: Int = 0
)

Public functions

addOnAnnotationEditListener

Added in 1.0.0-alpha19
fun addOnAnnotationEditListener(
    listener: AnnotationsView.OnAnnotationEditListener
): Unit

Adds a listener for events related to the finalized creation or failure of annotations.

Registered listeners will be notified when an in-progress interaction successfully produces a new PdfAnnotation, or if an error occurs during the process.

Parameters
listener: AnnotationsView.OnAnnotationEditListener

The listener to be added to the registry.

addOnAnnotationLocatedListener

Added in 1.0.0-alpha19
fun addOnAnnotationLocatedListener(
    listener: AnnotationsView.OnAnnotationLocatedListener
): Unit

Adds a listener for annotation hit events.

addView

open fun addView(child: View?): Unit

addView

open fun addView(child: View?, index: Int): Unit

addView

open fun addView(child: View?, params: ViewGroup.LayoutParams?): Unit

addView

open fun addView(child: View?, index: Int, params: ViewGroup.LayoutParams?): Unit

onTouchEvent

open fun onTouchEvent(event: MotionEvent?): Boolean

removeOnAnnotationEditListener

Added in 1.0.0-alpha19
fun removeOnAnnotationEditListener(
    listener: AnnotationsView.OnAnnotationEditListener
): Unit

Removes a listener that was previously added via addOnAnnotationEditListener.

removeOnAnnotationLocatedListener

Added in 1.0.0-alpha19
fun removeOnAnnotationLocatedListener(
    listener: AnnotationsView.OnAnnotationLocatedListener
): Unit

Removes a listener that was previously added via addOnAnnotationLocatedListener.

setOnGestureClaimListener

Added in 1.0.0-alpha19
fun setOnGestureClaimListener(
    listener: AnnotationsView.OnGestureClaimListener?
): Unit

Sets a listener to be notified when this view claims or abandons the current gesture stream.

Parameters
listener: AnnotationsView.OnGestureClaimListener?

The listener to receive gesture coordination signals, or null to clear.

setTextBoundsProvider

Added in 1.0.0-alpha19
fun setTextBoundsProvider(textBoundsProvider: TextBoundsProvider): Unit

Sets the TextBoundsProvider used to retrieve text boundary information during highlighting.

Parameters
textBoundsProvider: TextBoundsProvider

The provider implementation to be used for text boundary lookups.

updateDisplayState

Added in 1.0.0-alpha19
@MainThread
fun updateDisplayState(
    pdfViewportState: PdfViewportState,
    annotations: SparseArray<List<KeyedPdfAnnotation>>
): Unit

Updates both the content and the layout positioning of the annotations in a single atomic operation.

Parameters
pdfViewportState: PdfViewportState

The latest layout snapshot (zoom, scroll, and pagebounds) from the PDF renderer.

annotations: SparseArray<List<KeyedPdfAnnotation>>

A SparseArray indexed with page num containing the list of KeyedPdfAnnotation objects to be rendered.

Protected functions

onDraw

protected open fun onDraw(canvas: Canvas): Unit

onLayout

protected open fun onLayout(changed: Boolean, left: Int, top: Int, right: Int, bottom: Int): Unit

onMeasure

protected open fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int): Unit

Public properties

interactionMode

Added in 1.0.0-alpha19
var interactionModeAnnotationsView.AnnotationMode?

The current interaction mode, determining how touch events are handled for annotations.

Set to AnnotationMode.Select to enable selecting existing annotations, or AnnotationMode.Highlight to create new text highlights. If null, touch interactions for annotations are disabled on AnnotationsView and its children.

This property must only be modified on the UI thread.