public class CropImageView
extends android.widget.FrameLayout
| Modifier and Type | Class and Description |
|---|---|
static class |
CropImageView.CropResult
Result data of crop image.
|
static class |
CropImageView.CropShape
The possible cropping area shape.
To set square/circle crop shape set aspect ratio to 1:1. |
static class |
CropImageView.Guidelines
The possible guidelines showing types.
|
static interface |
CropImageView.OnCropImageCompleteListener
Interface definition for a callback to be invoked when image async crop is complete.
|
static interface |
CropImageView.OnGetCroppedImageCompleteListener
|
static interface |
CropImageView.OnSaveCroppedImageCompleteListener
|
static interface |
CropImageView.OnSetImageUriCompleteListener
Interface definition for a callback to be invoked when image async loading is complete.
|
static class |
CropImageView.RequestSizeOptions
Possible options for handling requested width/height for cropping.
|
static class |
CropImageView.ScaleType
Options for scaling the bounds of cropping image to the bounds of Crop Image View.
Note: Some options are affected by auto-zoom, if enabled. |
android.widget.FrameLayout.LayoutParamsandroid.view.ViewGroup.MarginLayoutParams, android.view.ViewGroup.OnHierarchyChangeListenerandroid.view.View.AccessibilityDelegate, android.view.View.BaseSavedState, android.view.View.DragShadowBuilder, android.view.View.MeasureSpec, android.view.View.OnApplyWindowInsetsListener, android.view.View.OnAttachStateChangeListener, android.view.View.OnClickListener, android.view.View.OnContextClickListener, android.view.View.OnCreateContextMenuListener, android.view.View.OnDragListener, android.view.View.OnFocusChangeListener, android.view.View.OnGenericMotionListener, android.view.View.OnHoverListener, android.view.View.OnKeyListener, android.view.View.OnLayoutChangeListener, android.view.View.OnLongClickListener, android.view.View.OnScrollChangeListener, android.view.View.OnSystemUiVisibilityChangeListener, android.view.View.OnTouchListenerCLIP_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_CACHEACCESSIBILITY_LIVE_REGION_ASSERTIVE, ACCESSIBILITY_LIVE_REGION_NONE, ACCESSIBILITY_LIVE_REGION_POLITE, ALPHA, 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, 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, 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, OVER_SCROLL_ALWAYS, OVER_SCROLL_IF_CONTENT_SCROLLS, OVER_SCROLL_NEVER, PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET, PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_SELECTED_STATE_SET, PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_STATE_SET, PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_SELECTED_STATE_SET, PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_STATE_SET, PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_SELECTED_STATE_SET, PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_STATE_SET, PRESSED_WINDOW_FOCUSED_STATE_SET, ROTATION, ROTATION_X, ROTATION_Y, SCALE_X, SCALE_Y, SCREEN_STATE_OFF, SCREEN_STATE_ON, SCROLL_AXIS_HORIZONTAL, SCROLL_AXIS_NONE, SCROLL_AXIS_VERTICAL, SCROLL_INDICATOR_BOTTOM, SCROLL_INDICATOR_END, SCROLL_INDICATOR_LEFT, SCROLL_INDICATOR_RIGHT, SCROLL_INDICATOR_START, SCROLL_INDICATOR_TOP, SCROLLBAR_POSITION_DEFAULT, SCROLLBAR_POSITION_LEFT, SCROLLBAR_POSITION_RIGHT, SCROLLBARS_INSIDE_INSET, SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_OUTSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY, SELECTED_STATE_SET, SELECTED_WINDOW_FOCUSED_STATE_SET, SOUND_EFFECTS_ENABLED, STATUS_BAR_HIDDEN, STATUS_BAR_VISIBLE, SYSTEM_UI_FLAG_FULLSCREEN, SYSTEM_UI_FLAG_HIDE_NAVIGATION, SYSTEM_UI_FLAG_IMMERSIVE, SYSTEM_UI_FLAG_IMMERSIVE_STICKY, SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, SYSTEM_UI_FLAG_LAYOUT_STABLE, SYSTEM_UI_FLAG_LIGHT_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 and Description |
|---|
CropImageView(android.content.Context context) |
CropImageView(android.content.Context context,
android.util.AttributeSet attrs) |
| Modifier and Type | Method and Description |
|---|---|
void |
clearAspectRatio()
Clears set aspect ratio values and sets fixed aspect ratio to FALSE.
|
void |
clearImage()
Clear the current image set for cropping.
|
android.util.Pair<java.lang.Integer,java.lang.Integer> |
getAspectRatio()
both the X and Y values of the aspectRatio.
|
android.graphics.Bitmap |
getCroppedImage()
Gets the cropped image based on the current crop window.
|
android.graphics.Bitmap |
getCroppedImage(int reqWidth,
int reqHeight)
Gets the cropped image based on the current crop window.
Uses CropImageView.RequestSizeOptions.RESIZE_INSIDE option. |
android.graphics.Bitmap |
getCroppedImage(int reqWidth,
int reqHeight,
CropImageView.RequestSizeOptions options)
Gets the cropped image based on the current crop window.
|
void |
getCroppedImageAsync()
Gets the cropped image based on the current crop window.
The result will be invoked to listener set by setOnGetCroppedImageCompleteListener(OnGetCroppedImageCompleteListener). |
void |
getCroppedImageAsync(int reqWidth,
int reqHeight)
Gets the cropped image based on the current crop window.
Uses CropImageView.RequestSizeOptions.RESIZE_INSIDE option.The result will be invoked to listener set by setOnCropImageCompleteListener(OnCropImageCompleteListener). |
void |
getCroppedImageAsync(int reqWidth,
int reqHeight,
CropImageView.RequestSizeOptions options)
Gets the cropped image based on the current crop window.
The result will be invoked to listener set by setOnCropImageCompleteListener(OnCropImageCompleteListener). |
float[] |
getCropPoints()
Gets the 4 points of crop window's position relative to the source Bitmap (not the image
displayed in the CropImageView) using the original image rotation.
Note: the 4 points may not be a rectangle if the image was rotates to NOT stright angle (!= 90/180/270). |
android.graphics.Rect |
getCropRect()
Gets the crop window's position relative to the source Bitmap (not the image
displayed in the CropImageView) using the original image rotation.
|
CropImageView.CropShape |
getCropShape()
The shape of the cropping area - rectangle/circular.
|
CropImageView.Guidelines |
getGuidelines()
Get the current guidelines option set.
|
int |
getImageResource()
Returns the integer of the imageResource
|
android.net.Uri |
getImageUri()
Get the URI of an image that was set by URI, null otherwise.
|
int |
getMaxZoom()
The max zoom allowed during cropping.
|
int |
getRotatedDegrees()
Get the amount of degrees the cropping image is rotated cloackwise.
|
CropImageView.ScaleType |
getScaleType()
Get the scale type of the image in the crop view.
|
boolean |
isAutoZoomEnabled()
if auto-zoom functionality is enabled.
|
boolean |
isFixAspectRatio()
whether the aspect ratio is fixed or not; true fixes the aspect ratio, while false allows it to be changed.
|
boolean |
isShowCropOverlay()
if to show crop overlay UI what contains the crop window UI surrounded by background over the cropping
image.
default: true, may disable for animation or frame transition. |
boolean |
isShowProgressBar()
if to show progress bar when image async loading/cropping is in progress.
default: true, disable to provide custom progress bar UI. |
protected void |
onLayout(boolean changed,
int l,
int t,
int r,
int b) |
protected void |
onMeasure(int widthMeasureSpec,
int heightMeasureSpec) |
void |
onRestoreInstanceState(android.os.Parcelable state) |
android.os.Parcelable |
onSaveInstanceState() |
protected void |
onSizeChanged(int w,
int h,
int oldw,
int oldh)
Detect size change to handle auto-zoom using
handleCropWindowChanged(boolean, boolean) in
ViewGroup.layout(int, int, int, int). |
void |
resetCropRect()
Reset crop window to initial rectangle.
|
void |
rotateImage(int degrees)
Rotates image by the specified number of degrees clockwise.
Cycles from 0 to 360 degrees. |
void |
saveCroppedImageAsync(android.net.Uri saveUri)
Save the cropped image based on the current crop window to the given uri.
Uses JPEG image compression with 90 compression quality. The result will be invoked to listener set by setOnGetCroppedImageCompleteListener(OnGetCroppedImageCompleteListener). |
void |
saveCroppedImageAsync(android.net.Uri saveUri,
android.graphics.Bitmap.CompressFormat saveCompressFormat,
int saveCompressQuality)
Save the cropped image based on the current crop window to the given uri.
The result will be invoked to listener set by setOnGetCroppedImageCompleteListener(OnGetCroppedImageCompleteListener). |
void |
saveCroppedImageAsync(android.net.Uri saveUri,
android.graphics.Bitmap.CompressFormat saveCompressFormat,
int saveCompressQuality,
int reqWidth,
int reqHeight)
Save the cropped image based on the current crop window to the given uri.
Uses CropImageView.RequestSizeOptions.RESIZE_INSIDE option.The result will be invoked to listener set by setOnGetCroppedImageCompleteListener(OnGetCroppedImageCompleteListener). |
void |
saveCroppedImageAsync(android.net.Uri saveUri,
android.graphics.Bitmap.CompressFormat saveCompressFormat,
int saveCompressQuality,
int reqWidth,
int reqHeight,
CropImageView.RequestSizeOptions options)
Save the cropped image based on the current crop window to the given uri.
The result will be invoked to listener set by setOnGetCroppedImageCompleteListener(OnGetCroppedImageCompleteListener). |
void |
setAspectRatio(int aspectRatioX,
int aspectRatioY)
Sets the both the X and Y values of the aspectRatio.
Sets fixed aspect ratio to TRUE. |
void |
setAutoZoomEnabled(boolean autoZoomEnabled)
Set auto-zoom functionality to enabled/disabled.
|
void |
setCropRect(android.graphics.Rect rect)
Set the crop window position and size to the given rectangle.
Image to crop must be first set before invoking this, for async - after complete callback. |
void |
setCropShape(CropImageView.CropShape cropShape)
The shape of the cropping area - rectangle/circular.
To set square/circle crop shape set aspect ratio to 1:1. |
void |
setFixedAspectRatio(boolean fixAspectRatio)
Sets whether the aspect ratio is fixed or not; true fixes the aspect ratio, while false allows it to be changed.
|
void |
setGuidelines(CropImageView.Guidelines guidelines)
Sets the guidelines for the CropOverlayView to be either on, off, or to show when resizing the application.
|
void |
setImageBitmap(android.graphics.Bitmap bitmap)
Sets a Bitmap as the content of the CropImageView.
|
void |
setImageBitmap(android.graphics.Bitmap bitmap,
android.media.ExifInterface exif)
Sets a Bitmap and initializes the image rotation according to the EXIT data.
The EXIF can be retrieved by doing the following: ExifInterface exif = new ExifInterface(path); |
void |
setImageResource(int resId)
Sets a Drawable as the content of the CropImageView.
|
void |
setImageUriAsync(android.net.Uri uri)
Sets a bitmap loaded from the given Android URI as the content of the CropImageView.
Can be used with URI from gallery or camera source. Will rotate the image by exif data. |
void |
setMaxCropResultSize(int maxCropResultWidth,
int maxCropResultHeight)
the max size the resulting cropping image is allowed to be, affects the cropping window limits
(in pixels).
|
void |
setMaxZoom(int maxZoom)
The max zoom allowed during cropping.
|
void |
setMinCropResultSize(int minCropResultWidth,
int minCropResultHeight)
the min size the resulting cropping image is allowed to be, affects the cropping window limits
(in pixels).
|
void |
setMultiTouchEnabled(boolean multiTouchEnabled)
Set multi touch functionality to enabled/disabled.
|
void |
setOnCropImageCompleteListener(CropImageView.OnCropImageCompleteListener listener)
Set the callback to be invoked when image async cropping image (
getCroppedImageAsync() or
saveCroppedImageAsync(Uri)) is complete (successful or failed). |
void |
setOnGetCroppedImageCompleteListener(CropImageView.OnGetCroppedImageCompleteListener listener)
Deprecated.
|
void |
setOnSaveCroppedImageCompleteListener(CropImageView.OnSaveCroppedImageCompleteListener listener)
Deprecated.
|
void |
setOnSetImageUriCompleteListener(CropImageView.OnSetImageUriCompleteListener listener)
Set the callback to be invoked when image async loading (
setImageUriAsync(Uri))
is complete (successful or failed). |
void |
setRotatedDegrees(int degrees)
Set the amount of degrees the cropping image is rotated cloackwise.
|
void |
setScaleType(CropImageView.ScaleType scaleType)
Set the scale type of the image in the crop view
|
void |
setShowCropOverlay(boolean showCropOverlay)
if to show crop overlay UI what contains the crop window UI surrounded by background over the cropping
image.
default: true, may disable for animation or frame transition. |
void |
setShowProgressBar(boolean showProgressBar)
if to show progress bar when image async loading/cropping is in progress.
default: true, disable to provide custom progress bar UI. |
void |
setSnapRadius(float snapRadius)
An edge of the crop window will snap to the corresponding edge of a
specified bounding box when the crop window edge is less than or equal to
this distance (in pixels) away from the bounding box edge.
|
void |
startCropWorkerTask(int reqWidth,
int reqHeight,
CropImageView.RequestSizeOptions options,
android.net.Uri saveUri,
android.graphics.Bitmap.CompressFormat saveCompressFormat,
int saveCompressQuality)
Gets the cropped image based on the current crop window.
If (reqWidth,reqHeight) is given AND image is loaded from URI cropping will try to use sample size to fit in the requested width and height down-sampling if possible - optimization to get best size to quality. The result will be invoked to listener set by setOnGetCroppedImageCompleteListener(OnGetCroppedImageCompleteListener). |
checkLayoutParams, generateDefaultLayoutParams, generateLayoutParams, generateLayoutParams, getAccessibilityClassName, getConsiderGoneChildrenWhenMeasuring, getMeasureAllChildren, setForegroundGravity, setMeasureAllChildren, shouldDelayChildPressedStateaddChildrenForAccessibility, addFocusables, 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, dispatchConfigurationChanged, dispatchDisplayHint, dispatchDragEvent, dispatchDraw, dispatchDrawableHotspotChanged, dispatchFreezeSelfOnly, dispatchGenericFocusedEvent, dispatchGenericPointerEvent, dispatchHoverEvent, dispatchKeyEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchProvideStructure, dispatchRestoreInstanceState, dispatchSaveInstanceState, dispatchSetActivated, dispatchSetPressed, dispatchSetSelected, dispatchSystemUiVisibilityChanged, dispatchThawSelfOnly, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchVisibilityChanged, dispatchWindowFocusChanged, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, drawableStateChanged, drawChild, endViewTransition, findFocus, findViewsWithText, focusableViewAvailable, focusSearch, gatherTransparentRegion, getChildAt, getChildCount, getChildDrawingOrder, getChildMeasureSpec, getChildStaticTransformation, getChildVisibleRect, getClipChildren, getClipToPadding, getDescendantFocusability, getFocusedChild, getLayoutAnimation, getLayoutAnimationListener, getLayoutMode, getLayoutTransition, getNestedScrollAxes, getOverlay, getPersistentDrawingCache, getTouchscreenBlocksFocus, hasFocus, hasFocusable, hasTransientState, indexOfChild, invalidateChild, invalidateChildInParent, isAlwaysDrawnWithCacheEnabled, isAnimationCacheEnabled, isChildrenDrawingOrderEnabled, isChildrenDrawnWithCacheEnabled, isMotionEventSplittingEnabled, isTransitionGroup, jumpDrawablesToCurrentState, layout, measureChild, measureChildren, measureChildWithMargins, notifySubtreeAccessibilityStateChanged, offsetDescendantRectToMyCoords, offsetRectIntoDescendantCoords, onAttachedToWindow, onCreateDrawableState, onDetachedFromWindow, 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, scheduleLayoutAnimation, setAddStatesFromChildren, setAlwaysDrawnWithCacheEnabled, setAnimationCacheEnabled, setChildrenDrawingCacheEnabled, setChildrenDrawingOrderEnabled, setChildrenDrawnWithCacheEnabled, setClipChildren, setClipToPadding, setDescendantFocusability, setLayoutAnimation, setLayoutAnimationListener, setLayoutMode, setLayoutTransition, setMotionEventSplittingEnabled, setOnHierarchyChangeListener, setPersistentDrawingCache, setStaticTransformationsEnabled, setTouchscreenBlocksFocus, setTransitionGroup, showContextMenuForChild, showContextMenuForChild, startActionModeForChild, startActionModeForChild, startLayoutAnimation, startViewTransition, updateViewLayoutaddFocusables, addOnAttachStateChangeListener, addOnLayoutChangeListener, animate, announceForAccessibility, awakenScrollBars, awakenScrollBars, awakenScrollBars, bringToFront, buildDrawingCache, buildDrawingCache, buildLayer, callOnClick, cancelDragAndDrop, cancelLongPress, cancelPendingInputEvents, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, checkInputConnectionProxy, clearAnimation, combineMeasuredStates, computeHorizontalScrollExtent, computeHorizontalScrollOffset, computeHorizontalScrollRange, computeScroll, computeSystemWindowInsets, computeVerticalScrollExtent, computeVerticalScrollOffset, computeVerticalScrollRange, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchFinishTemporaryDetach, dispatchGenericMotionEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPopulateAccessibilityEvent, dispatchStartTemporaryDetach, draw, drawableHotspotChanged, findViewById, findViewWithTag, fitSystemWindows, focusSearch, forceHasOverlappingRendering, forceLayout, generateViewId, getAccessibilityLiveRegion, getAccessibilityNodeProvider, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, getAlpha, getAnimation, getApplicationWindowToken, getBackground, getBackgroundTintList, getBackgroundTintMode, getBaseline, getBottom, getBottomFadingEdgeStrength, getBottomPaddingOffset, getCameraDistance, getClipBounds, getClipBounds, getClipToOutline, getContentDescription, getContext, getContextMenuInfo, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getElevation, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getForegroundTintList, getForegroundTintMode, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, getHasOverlappingRendering, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarHeight, getId, getImportantForAccessibility, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLeftFadingEdgeStrength, getLeftPaddingOffset, getLocalVisibleRect, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getMinimumHeight, getMinimumWidth, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOutlineProvider, getOverScrollMode, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getParent, getParentForAccessibility, getPivotX, getPivotY, getPointerIcon, getResources, getRight, getRightFadingEdgeStrength, getRightPaddingOffset, getRootView, getRootWindowInsets, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollIndicators, getScrollX, getScrollY, getSolidColor, getStateListAnimator, getSuggestedMinimumHeight, getSuggestedMinimumWidth, getSystemUiVisibility, getTag, getTag, getTextAlignment, getTextDirection, getTop, getTopFadingEdgeStrength, getTopPaddingOffset, getTouchables, getTouchDelegate, getTransitionName, getTranslationX, getTranslationY, getTranslationZ, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarWidth, getViewTreeObserver, getVisibility, getWidth, getWindowAttachCount, getWindowId, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, getZ, hasNestedScrollingParent, hasOnClickListeners, hasOverlappingRendering, hasWindowFocus, inflate, invalidate, invalidate, invalidate, invalidateDrawable, invalidateOutline, isAccessibilityFocused, isActivated, isAttachedToWindow, isClickable, isContextClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isInEditMode, isInLayout, isInTouchMode, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isOpaque, isPaddingOffsetRequired, isPaddingRelative, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, measure, mergeDrawableStates, offsetLeftAndRight, offsetTopAndBottom, onAnimationEnd, onAnimationStart, onApplyWindowInsets, onCancelPendingInputEvents, onCheckIsTextEditor, onConfigurationChanged, onCreateContextMenu, onCreateInputConnection, onDisplayHint, onDragEvent, onDraw, onDrawForeground, onDrawScrollBars, onFilterTouchEventForSecurity, onFinishInflate, onFinishTemporaryDetach, onFocusChanged, onGenericMotionEvent, onHoverChanged, onHoverEvent, onInitializeAccessibilityEvent, onInitializeAccessibilityNodeInfo, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyPreIme, onKeyShortcut, onKeyUp, onOverScrolled, onPopulateAccessibilityEvent, onProvideStructure, onProvideVirtualStructure, onRtlPropertiesChanged, onScreenStateChanged, onScrollChanged, onSetAlpha, onStartTemporaryDetach, onTouchEvent, onTrackballEvent, onVisibilityAggregated, onVisibilityChanged, onWindowFocusChanged, onWindowSystemUiVisibilityChanged, onWindowVisibilityChanged, overScrollBy, performAccessibilityAction, performClick, performContextClick, performContextClick, performHapticFeedback, performHapticFeedback, performLongClick, performLongClick, playSoundEffect, post, postDelayed, postInvalidate, postInvalidate, postInvalidateDelayed, postInvalidateDelayed, postInvalidateOnAnimation, postInvalidateOnAnimation, postOnAnimation, postOnAnimationDelayed, refreshDrawableState, removeCallbacks, removeOnAttachStateChangeListener, removeOnLayoutChangeListener, requestApplyInsets, requestFitSystemWindows, requestFocus, requestFocus, requestFocusFromTouch, requestLayout, requestRectangleOnScreen, requestRectangleOnScreen, requestUnbufferedDispatch, resolveSize, resolveSizeAndState, restoreHierarchyState, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setAccessibilityLiveRegion, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAlpha, setAnimation, setBackground, setBackgroundColor, setBackgroundDrawable, setBackgroundResource, setBackgroundTintList, setBackgroundTintMode, setBottom, setCameraDistance, setClickable, setClipBounds, setClipToOutline, setContentDescription, setContextClickable, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setElevation, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusableInTouchMode, setForeground, setForegroundTintList, setForegroundTintMode, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHovered, setId, setImportantForAccessibility, setKeepScreenOn, setLabelFor, setLayerPaint, setLayerType, setLayoutDirection, setLayoutParams, setLeft, setLongClickable, setMeasuredDimension, setMinimumHeight, setMinimumWidth, setNestedScrollingEnabled, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnApplyWindowInsetsListener, setOnClickListener, setOnContextClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnScrollChangeListener, setOnSystemUiVisibilityChangeListener, setOnTouchListener, setOutlineProvider, setOverScrollMode, setPadding, setPaddingRelative, setPivotX, setPivotY, setPointerIcon, setPressed, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollbarFadingEnabled, setScrollBarSize, setScrollBarStyle, setScrollContainer, setScrollIndicators, setScrollIndicators, setScrollX, setScrollY, setSelected, setSoundEffectsEnabled, setStateListAnimator, setSystemUiVisibility, setTag, setTag, setTextAlignment, setTextDirection, setTop, setTouchDelegate, setTransitionName, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVisibility, setWillNotCacheDrawing, setWillNotDraw, setX, setY, setZ, showContextMenu, showContextMenu, startActionMode, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, unscheduleDrawable, unscheduleDrawable, updateDragShadow, verifyDrawable, willNotCacheDrawing, willNotDrawclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitcanResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, createContextMenu, getLayoutDirection, getParent, getParentForAccessibility, getTextAlignment, getTextDirection, isLayoutDirectionResolved, isLayoutRequested, isTextAlignmentResolved, isTextDirectionResolved, requestFitSystemWindows, requestLayoutpublic CropImageView(android.content.Context context)
public CropImageView(android.content.Context context,
android.util.AttributeSet attrs)
public CropImageView.ScaleType getScaleType()
public void setScaleType(CropImageView.ScaleType scaleType)
public CropImageView.CropShape getCropShape()
public void setCropShape(CropImageView.CropShape cropShape)
public boolean isAutoZoomEnabled()
public void setAutoZoomEnabled(boolean autoZoomEnabled)
public void setMultiTouchEnabled(boolean multiTouchEnabled)
public int getMaxZoom()
public void setMaxZoom(int maxZoom)
public void setMinCropResultSize(int minCropResultWidth,
int minCropResultHeight)
public void setMaxCropResultSize(int maxCropResultWidth,
int maxCropResultHeight)
public int getRotatedDegrees()
public void setRotatedDegrees(int degrees)
degrees - 0-360public boolean isFixAspectRatio()
public void setFixedAspectRatio(boolean fixAspectRatio)
public CropImageView.Guidelines getGuidelines()
public void setGuidelines(CropImageView.Guidelines guidelines)
public android.util.Pair<java.lang.Integer,java.lang.Integer> getAspectRatio()
public void setAspectRatio(int aspectRatioX,
int aspectRatioY)
aspectRatioX - int that specifies the new X value of the aspect ratioaspectRatioY - int that specifies the new Y value of the aspect ratiopublic void clearAspectRatio()
public void setSnapRadius(float snapRadius)
public boolean isShowProgressBar()
public void setShowProgressBar(boolean showProgressBar)
public boolean isShowCropOverlay()
public void setShowCropOverlay(boolean showCropOverlay)
public int getImageResource()
public android.net.Uri getImageUri()
public android.graphics.Rect getCropRect()
public float[] getCropPoints()
public void setCropRect(android.graphics.Rect rect)
rect - window rectangle (position and size) relative to source bitmappublic void resetCropRect()
public android.graphics.Bitmap getCroppedImage()
public android.graphics.Bitmap getCroppedImage(int reqWidth,
int reqHeight)
CropImageView.RequestSizeOptions.RESIZE_INSIDE option.reqWidth - the width to resize the cropped image toreqHeight - the height to resize the cropped image topublic android.graphics.Bitmap getCroppedImage(int reqWidth,
int reqHeight,
CropImageView.RequestSizeOptions options)
reqWidth - the width to resize the cropped image to (see options)reqHeight - the height to resize the cropped image to (see options)options - the resize method to use, see its documentationpublic void getCroppedImageAsync()
setOnGetCroppedImageCompleteListener(OnGetCroppedImageCompleteListener).public void getCroppedImageAsync(int reqWidth,
int reqHeight)
CropImageView.RequestSizeOptions.RESIZE_INSIDE option.setOnCropImageCompleteListener(OnCropImageCompleteListener).reqWidth - the width to resize the cropped image toreqHeight - the height to resize the cropped image topublic void getCroppedImageAsync(int reqWidth,
int reqHeight,
CropImageView.RequestSizeOptions options)
setOnCropImageCompleteListener(OnCropImageCompleteListener).reqWidth - the width to resize the cropped image to (see options)reqHeight - the height to resize the cropped image to (see options)options - the resize method to use, see its documentationpublic void saveCroppedImageAsync(android.net.Uri saveUri)
setOnGetCroppedImageCompleteListener(OnGetCroppedImageCompleteListener).saveUri - the Android Uri to save the cropped image topublic void saveCroppedImageAsync(android.net.Uri saveUri,
android.graphics.Bitmap.CompressFormat saveCompressFormat,
int saveCompressQuality)
setOnGetCroppedImageCompleteListener(OnGetCroppedImageCompleteListener).saveUri - the Android Uri to save the cropped image tosaveCompressFormat - the compression format to use when writing the imagesaveCompressQuality - the quality (if applicable) to use when writing the image (0 - 100)public void saveCroppedImageAsync(android.net.Uri saveUri,
android.graphics.Bitmap.CompressFormat saveCompressFormat,
int saveCompressQuality,
int reqWidth,
int reqHeight)
CropImageView.RequestSizeOptions.RESIZE_INSIDE option.setOnGetCroppedImageCompleteListener(OnGetCroppedImageCompleteListener).saveUri - the Android Uri to save the cropped image tosaveCompressFormat - the compression format to use when writing the imagesaveCompressQuality - the quality (if applicable) to use when writing the image (0 - 100)reqWidth - the width to resize the cropped image toreqHeight - the height to resize the cropped image topublic void saveCroppedImageAsync(android.net.Uri saveUri,
android.graphics.Bitmap.CompressFormat saveCompressFormat,
int saveCompressQuality,
int reqWidth,
int reqHeight,
CropImageView.RequestSizeOptions options)
setOnGetCroppedImageCompleteListener(OnGetCroppedImageCompleteListener).saveUri - the Android Uri to save the cropped image tosaveCompressFormat - the compression format to use when writing the imagesaveCompressQuality - the quality (if applicable) to use when writing the image (0 - 100)reqWidth - the width to resize the cropped image to (see options)reqHeight - the height to resize the cropped image to (see options)options - the resize method to use, see its documentationpublic void setOnSetImageUriCompleteListener(CropImageView.OnSetImageUriCompleteListener listener)
setImageUriAsync(Uri))
is complete (successful or failed).public void setOnCropImageCompleteListener(CropImageView.OnCropImageCompleteListener listener)
getCroppedImageAsync() or
saveCroppedImageAsync(Uri)) is complete (successful or failed).@Deprecated public void setOnGetCroppedImageCompleteListener(CropImageView.OnGetCroppedImageCompleteListener listener)
setOnCropImageCompleteListener(OnCropImageCompleteListener).getCroppedImageAsync())
is complete (successful or failed).@Deprecated public void setOnSaveCroppedImageCompleteListener(CropImageView.OnSaveCroppedImageCompleteListener listener)
setOnCropImageCompleteListener(OnCropImageCompleteListener).saveCroppedImageAsync(Uri))
is complete (successful or failed).public void setImageBitmap(android.graphics.Bitmap bitmap)
bitmap - the Bitmap to setpublic void setImageBitmap(android.graphics.Bitmap bitmap,
android.media.ExifInterface exif)
ExifInterface exif = new ExifInterface(path);bitmap - the original bitmap to set; if null, thisexif - the EXIF information about this bitmap; may be nullpublic void setImageResource(int resId)
resId - the drawable resource ID to setpublic void setImageUriAsync(android.net.Uri uri)
uri - the URI to load the image frompublic void clearImage()
public void rotateImage(int degrees)
degrees - Integer specifying the number of degrees to rotate.public void startCropWorkerTask(int reqWidth,
int reqHeight,
CropImageView.RequestSizeOptions options,
android.net.Uri saveUri,
android.graphics.Bitmap.CompressFormat saveCompressFormat,
int saveCompressQuality)
setOnGetCroppedImageCompleteListener(OnGetCroppedImageCompleteListener).reqWidth - the width to resize the cropped image to (see options)reqHeight - the height to resize the cropped image to (see options)options - the resize method to use on the cropped bitmapsaveUri - optional: to save the cropped image tosaveCompressFormat - if saveUri is given, the given compression will be used for saving the imagesaveCompressQuality - if saveUri is given, the given quality will be used for the compression.public android.os.Parcelable onSaveInstanceState()
onSaveInstanceState in class android.view.Viewpublic void onRestoreInstanceState(android.os.Parcelable state)
onRestoreInstanceState in class android.view.Viewprotected void onMeasure(int widthMeasureSpec,
int heightMeasureSpec)
onMeasure in class android.widget.FrameLayoutprotected void onLayout(boolean changed,
int l,
int t,
int r,
int b)
onLayout in class android.widget.FrameLayoutprotected void onSizeChanged(int w,
int h,
int oldw,
int oldh)
handleCropWindowChanged(boolean, boolean) in
ViewGroup.layout(int, int, int, int).onSizeChanged in class android.view.View