CameraPickerState class

Mixed in types




accelerometerSubscription StreamSubscription<AccelerometerEvent>?
Subscribe to the accelerometer.
getter/setter pair
accessDenied bool
Whether the access to the camera or the audio session has been denied by the platform.
getter/setter pair
baseZoom double
getter/setter pair
cameraQuarterTurns int
no setter
cameras List<CameraDescription>
Available cameras. 可用的相机实例
getter/setter pair
context BuildContext
The location in the tree where this widget builds.
no setterinherited
controller CameraController
The controller for the current camera. 当前相机实例的控制器
no setter
currentCamera CameraDescription
A getter to the current CameraDescription. 获取当前相机实例
no setter
currentCameraIndex int
The index of the current cameras. Defaults to 0. 当前相机的索引。默认为0
getter/setter pair
currentExposureOffset ValueNotifier<double>
Current exposure offset. 当前曝光值
currentExposureSliderOffset ValueNotifier<double>
currentZoom double
getter/setter pair
enableAudio bool
No audio integration required when it's only for camera. 在仅允许拍照时不需要启用音频
no setter
enablePullToZoomInRecord bool
no setter
enableRecording bool
Whether the picker can record video. 选择器是否可以录像
no setter
enableScaledPreview bool
Whether the camera preview should be scaled during captures. 拍摄过程中相机预览是否需要缩放
no setter
enableTapRecording bool
Whether allow the record can start with single tap. 选择器是否可以单击录像
no setter
exposureFadeOutTimer Timer?
getter/setter pair
exposureModeDisplayTimer Timer?
getter/setter pair
exposurePointDisplayTimer Timer?
The Timer for keep the lastExposurePoint displays. 用于控制上次手动聚焦点显示的计时器
getter/setter pair
exposureStep double
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
initializeLock Completer<void>?
A Completer lock to keep the initialization only runs once at a time.
getter/setter pair
innerController CameraController?
getter/setter pair
invalidControllerMethods Map<CameraDescription, Set<String>>
If controller methods were failed to called for camera descriptions, it will be recorded as invalid and never gets called again.
isCameraRotated bool
Whether the camera preview should be rotated.
no setter
isControllerBusy bool
Whether the controller is handling method calls. 相机控制器是否在处理方法调用
getter/setter pair
isFocusPointDisplays ValueNotifier<bool>
Whether the focus point is displaying. 是否正在展示当前的聚焦点
isFocusPointFadeOut ValueNotifier<bool>
isRecordingRestricted bool
Whether the recording restricted to a specific duration. 录像是否有限制的时长
no setter
isShootingButtonAnimate bool
Whether the buildCaptureButton should animate according to the gesture. 拍照按钮是否需要执行动画
getter/setter pair
lastExposurePoint ValueNotifier<Offset?>
The last exposure point offset on the screen. 最后一次手动聚焦的点坐标
lastShootingButtonPressedPosition Offset?
The last pressed position on the shooting button before starts recording. 在开始录像前,最后一次在拍照按钮按下的位置
getter/setter pair
lockedCaptureOrientation DeviceOrientation?
The locked capture orientation of the current camera instance.
getter/setter pair
maxAvailableExposureOffset double
getter/setter pair
maxAvailableZoom double
The maximum available value for zooming. 最大可用缩放值
getter/setter pair
minAvailableExposureOffset double
getter/setter pair
minAvailableZoom double
The minimum available value for zooming. 最小可用缩放值
getter/setter pair
minimumRecordingDuration Duration
The minimum recording duration limit. 录制视频的最短时长限制。
no setter
mounted bool
Whether this State object is currently in a tree.
no setterinherited
nextCameraDescription CameraDescription
Obtain the next camera description for semantics.
no setter
onLongPress GestureLongPressCallback?
no setter
onLongPressHint String?
no setter
onlyEnableRecording bool
Whether the picker only enables video recording. 选择器是否只可以录像
no setter
onPointerUp PointerUpEventListener?
////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////// ///////////////////// Just a line breaker //////////////////////////// ////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
no setter
onTap GestureTapCallback?
no setter
onTapHint String?
no setter
pickerConfig CameraPickerConfig
////////////////////////////////////////////////////////////////////// //////////////////////// Global Getters ////////////////////////////// //////////////////////////////////////////////////////////////////////
no setter
pointers int
Counting pointers (number of user fingers on screen). 屏幕上的触摸点计数
getter/setter pair
recordCountdownTimer Timer?
The Timer for record countdown. 用于录制视频倒计时的计时器
getter/setter pair
recordDetectDuration Duration
The Duration for record detection. (200ms) 检测是否开始录制的时长 (200毫秒)
recordDetectTimer Timer?
The Timer for record start detection. 用于检测是否开始录制的计时器
getter/setter pair
recordStopwatch Stopwatch
The Stopwatch to monitor if the record has reached the minimum record duration requirement. 录像时长计时器,用来检测是否达到了最短录制时长。
retriedAfterInvalidInitialize bool
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
shouldCaptureButtonDisplay bool
Whether the capture button is displaying.
no setter
shouldPrepareForVideoRecording bool
Whether the picker needs to prepare for video recording on iOS. 是否需要为 iOS 的录制视频执行准备操作
no setter
textDelegate CameraPickerTextDelegate
no setter
theme ThemeData
If there's no theme provided from the user, use CameraPicker.themeData . 如果用户未提供主题,通过 CameraPicker.themeData 创建。
validFlashModes Map<CameraDescription, List<FlashMode>>
Initialized with all the flash modes for each camera. If a flash mode is not valid, it is removed from the list. 使用每个相机的所有闪光灯模式进行初始化。 如果闪光灯模式无效,则将其从列表中删除。
widget CameraPicker
The current configuration.
no setterinherited


activate() → void
Called when this object is reinserted into the tree after having been removed via deactivate.
build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
buildBackButton(BuildContext context) Widget
The back button. 返回键
buildBody(BuildContext context) Widget
buildCameraPreview({required BuildContext context, required CameraValue cameraValue, required BoxConstraints constraints}) Widget
buildCameraSwitch(BuildContext context) Widget
The button to switch between cameras. 切换相机的按钮
buildCaptureActions({required BuildContext context, required BoxConstraints constraints, CameraController? controller}) Widget
Capture action's widget. 拍照操作区
buildCaptureButton(BuildContext context, BoxConstraints constraints) Widget
The shooting button. 拍照按钮
buildCaptureTips(CameraController? controller) Widget
Text widget for shooting tips. 拍摄的提示文字
buildExposureDetector(BuildContext context, BoxConstraints constraints) Widget
The GestureDetector widget for setting exposure point manually. 用于手动设置曝光点的 GestureDetector
buildExposureSlider({required ExposureMode mode, required double size, required double height, required double gap}) Widget
buildFlashModeSwitch(BuildContext context, CameraValue value) Widget
The button to switch flash modes. 切换闪光灯模式的按钮
buildFocusingPoint({required CameraValue cameraValue, required BoxConstraints constraints, int quarterTurns = 0}) Widget
The area widget for the last exposure point that user manually set. 用户手动设置的曝光点的区域显示
buildForegroundBody(BuildContext context, BoxConstraints constraints, DeviceOrientation? deviceOrientation) Widget
buildInitializeWrapper({required Widget builder(CameraValue, Widget?), bool isInitialized()?, Widget? child}) Widget
buildSettingActions(BuildContext context) Widget
///////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////// //////////////////////// Just a line breaker //////////////////////////// ///////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////// Settings action section widget. 设置操作区
deactivate() → void
Called when this object is removed from the tree.
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
didChangeAccessibilityFeatures() → void
Called when the system changes the set of currently active accessibility features.
didChangeAppLifecycleState(AppLifecycleState state) → void
Called when the system puts the app in the background or returns the app to the foreground.
didChangeDependencies() → void
Called when a dependency of this State object changes.
didChangeLocales(List<Locale>? locales) → void
Called when the system tells the app that the user's locale has changed. For example, if the user changes the system language settings.
didChangeMetrics() → void
Called when the application's dimensions change. For example, when a phone is rotated.
didChangePlatformBrightness() → void
Called when the platform brightness changes.
didChangeTextScaleFactor() → void
Called when the platform's text scale factor changes.
didHaveMemoryPressure() → void
Called when the system is running low on memory.
didPopRoute() Future<bool>
Called when the system tells the app to pop the current route, such as after a system back button press or back gesture.
didPushRoute(String route) Future<bool>
Called when the host tells the application to push a new route onto the navigator.
didPushRouteInformation(RouteInformation routeInformation) Future<bool>
Called when the host tells the application to push a new RouteInformation and a restoration state onto the router.
didRequestAppExit() Future<AppExitResponse>
Called when a request is received from the system to exit the application.
didUpdateWidget(covariant CameraPicker oldWidget) → void
Called whenever the widget configuration changes.
dispose() → void
Called when this object is removed from the tree permanently.
effectiveCameraScale(BoxConstraints constraints, CameraController? controller) double
Adjust the proper scale type according to the constraints. 根据 constraints 获取相机预览适用的缩放。
handleAccelerometerEvent(AccelerometerEvent event) → void
Lock capture orientation according to the current status of the device, which enables the captured file stored the correct orientation.
handleCancelBackGesture() → void
Called when a predictive back gesture is canceled, indicating that no navigation should occur.
handleCommitBackGesture() → void
Called when a predictive back gesture is finished successfully, indicating that the current route should be popped.
handleScaleStart(ScaleStartDetails details) → void
Handle when the scale gesture start. 处理缩放开始的手势
handleScaleUpdate(ScaleUpdateDetails details) Future<void>
Handle when the double tap scale details is updating. 处理双指缩放更新
handleStartBackGesture(PredictiveBackEvent backEvent) bool
Called at the start of a predictive back gesture.
handleUpdateBackGestureProgress(PredictiveBackEvent backEvent) → void
Called when a predictive back gesture moves.
initAccelerometerSubscription() → void
Starts to listen on accelerometer events.
initCameras({CameraDescription? cameraDescription, bool ignoreLocks = false}) Future<void>
Initialize cameras instances. 初始化相机实例
initFlashModesForCameras() → void
Initializes the flash modes in validFlashModes for each CameraDescription. 为每个 CameraDescriptionvalidFlashModes 中初始化闪光灯模式。
initState() → void
Called when this object is inserted into the tree.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
onPointerMove(BoxConstraints c) PointerMoveEventListener?
onShootingButtonMove(PointerMoveEvent event, BoxConstraints constraints) → void
Update the scale value while the user is shooting. 用户在录制时通过滑动更新缩放
pushToViewer({required XFile file, required CameraPickerViewType viewType}) Future<AssetEntity?>
reassemble() → void
Called whenever the application is reassembled during debugging, for example during hot reload.
recordDetection() → void
When the buildCaptureButton's onLongPress called, the recordDetectTimer will be initialized for the press time detection. If the duration reached to same as recordDetectDuration and the timer is still active, start recording video. 当 buildCaptureButton 触发了长按,初始化一个定时器来实现时间检测。如果长按时间 达到了 recordDetectDuration 且定时器未被销毁,则开始录制视频。
recordDetectionCancel(PointerUpEvent event) → void
This will be given to the Listener in the buildCaptureButton. When it's called, which means no more pressing on the button, cancel the timer and reset the status. 这个方法会赋值给 buildCaptureButton 中的 Listener。当按钮释放了点击后,定时器 将被取消,并且状态会重置。
requestFocusAndExposureOnPosition(Offset localPosition, BoxConstraints constraints, {bool lock = false}) Future<void>
Request to set the focus and the exposure point on the localPosition, lock to lock the exposure mode at the same time. 将对焦和曝光设置为给定的点 localPositionlock 控制是否同时锁定曝光模式。
restartExposureFadeOutTimer() → void
restartExposureModeDisplayTimer() → void
restartExposurePointDisplayTimer() → void
setExposureAndFocusPoint(Offset position, BoxConstraints constraints) Future<void>
Use the position to set exposure and focus. 通过点击点的 position 设置曝光和对焦。
setState(VoidCallback fn) → void
Notify the framework that the internal state of this object has changed.
startRecordingVideo() Future<void>
Set record file path and start recording. 设置拍摄文件路径并开始录制视频
stopRecordingVideo() Future<void>
Stop the recording process. 停止录制视频
switchCameras() → void
Switch cameras in order. When the currentCameraIndex reached the length of cameras, start from the beginning. 按顺序切换相机。当达到相机数量时从头开始。
switchExposureMode() Future<void>
Use the specific mode to update the exposure mode. 设置曝光模式
switchFlashesMode(CameraValue value) Future<void>
The method to switch between flash modes. 切换闪光灯模式的方法
takePicture() Future<void>
The picture will only taken when CameraValue.isInitialized, and the camera is not taking pictures. 仅当初始化成功且相机未在拍照时拍照。
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
toString({DiagnosticLevel minLevel =}) String
A string representation of this object.
toStringShort() String
A brief description of this object, usually just the runtimeType and the hashCode.
updateExposureOffset(double value) Future<void>
Update the exposure offset using the exposure controller. 使用曝光控制器更新曝光值
wrapControllerMethod<T>(String key, Future<T> method(), {CameraDescription? description, VoidCallback? onError, T? fallback}) Future<T?>
Wraps CameraController methods with invalid controls. Returns the fallback value if invalid and T is non-void.
zoom(double scale) Future<void>


operator ==(Object other) bool
The equality operator.