-
- All Implemented Interfaces:
-
android.content.ComponentCallbacks,android.view.View.OnCreateContextMenuListener,androidx.lifecycle.LifecycleOwner,androidx.lifecycle.ViewModelStoreOwner,androidx.savedstate.SavedStateRegistryOwner,com.king.zxing.CameraScan.OnScanResultCallback
public class CaptureFragment extends Fragment implements CameraScan.OnScanResultCallback
相机扫描基类;CaptureFragment 内部持有CameraScan,便于快速实现扫描识别。
快速实现扫描识别主要有以下几种方式:
1、通过继承 CaptureActivity或者CaptureFragment或其子类,可快速实现扫描识别。 (适用于大多数场景,自定义布局时需覆写getLayoutId方法)
2、在你项目的Activity或者Fragment中实例化一个DefaultCameraScan。(适用于想在扫码界面写交互逻辑,又因为项目 架构或其它原因,无法直接或间接继承CaptureActivity或CaptureFragment时使用)
3、继承CameraScan自己实现一个,可参照默认实现类DefaultCameraScan,其他步骤同方式2。(高级用法,谨慎使用)
-
-
Method Summary
Modifier and Type Method Description static CaptureFragmentnewInstance()ViewonCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)voidonViewCreated(@NonNull() View view, @Nullable() Bundle savedInstanceState)voidinitUI()初始化 voidinitCameraScan()初始化CameraScan voidstartCamera()启动相机预览 voidonRequestPermissionsResult(int requestCode, @NonNull() Array<String> permissions, @NonNull() Array<int> grantResults)voidrequestCameraPermissionResult(@NonNull() Array<String> permissions, @NonNull() Array<int> grantResults)请求Camera权限回调结果 voidonDestroyView()booleanisContentView()返回true时会自动初始化createRootView,返回为false是需自己去初始化createRootView ViewcreateRootView(LayoutInflater inflater, ViewGroup container)创建mRootView intgetLayoutId()布局ID;通过覆写此方法可以自定义布局 intgetViewfinderViewId()viewfinderView 的 ID intgetPreviewViewId()预览界面previewView 的ID;可通过覆写此方法自定义ID intgetFlashlightId()获取 ivFlashlight 的ID CameraScangetCameraScan()获取 CameraScan booleanonScanResultCallback(Result result)接收扫码结果回调 ViewgetRootView()获取根视图 -
Methods inherited from class androidx.fragment.app.Fragment
dump, equals, getActivity, getAllowEnterTransitionOverlap, getAllowReturnTransitionOverlap, getArguments, getChildFragmentManager, getContext, getEnterTransition, getExitTransition, getFragmentManager, getHost, getId, getLayoutInflater, getLifecycle, getLoaderManager, getParentFragment, getReenterTransition, getResources, getRetainInstance, getReturnTransition, getSavedStateRegistry, getSharedElementEnterTransition, getSharedElementReturnTransition, getString, getTag, getTargetFragment, getTargetRequestCode, getText, getUserVisibleHint, getView, getViewLifecycleOwner, getViewLifecycleOwnerLiveData, getViewModelStore, hasOptionsMenu, hashCode, instantiate, isAdded, isDetached, isHidden, isInLayout, isMenuVisible, isRemoving, isResumed, isStateSaved, isVisible, onActivityCreated, onActivityResult, onAttach, onAttachFragment, onConfigurationChanged, onContextItemSelected, onCreate, onCreateAnimation, onCreateAnimator, onCreateContextMenu, onCreateOptionsMenu, onCreateView, onDestroy, onDestroyOptionsMenu, onDestroyView, onDetach, onGetLayoutInflater, onHiddenChanged, onInflate, onLowMemory, onMultiWindowModeChanged, onOptionsItemSelected, onOptionsMenuClosed, onPause, onPictureInPictureModeChanged, onPrepareOptionsMenu, onPrimaryNavigationFragmentChanged, onRequestPermissionsResult, onResume, onSaveInstanceState, onStart, onStop, onViewCreated, onViewStateRestored, postponeEnterTransition, registerForContextMenu, requestPermissions, requireActivity, requireArguments, requireContext, requireFragmentManager, requireHost, requireParentFragment, requireView, setAllowEnterTransitionOverlap, setAllowReturnTransitionOverlap, setArguments, setEnterSharedElementCallback, setEnterTransition, setExitSharedElementCallback, setExitTransition, setHasOptionsMenu, setInitialSavedState, setMenuVisibility, setReenterTransition, setRetainInstance, setReturnTransition, setSharedElementEnterTransition, setSharedElementReturnTransition, setTargetFragment, setUserVisibleHint, shouldShowRequestPermissionRationale, startActivity, startActivityForResult, startIntentSenderForResult, startPostponedEnterTransition, toString, unregisterForContextMenu -
Methods inherited from class com.king.zxing.CameraScan.OnScanResultCallback
onScanResultFailure -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
newInstance
static CaptureFragment newInstance()
-
onCreateView
View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
-
onViewCreated
void onViewCreated(@NonNull() View view, @Nullable() Bundle savedInstanceState)
-
initUI
void initUI()
初始化
-
initCameraScan
void initCameraScan()
初始化CameraScan
-
startCamera
void startCamera()
启动相机预览
-
onRequestPermissionsResult
void onRequestPermissionsResult(int requestCode, @NonNull() Array<String> permissions, @NonNull() Array<int> grantResults)
-
requestCameraPermissionResult
void requestCameraPermissionResult(@NonNull() Array<String> permissions, @NonNull() Array<int> grantResults)
请求Camera权限回调结果
- Parameters:
permissions- 权限grantResults- 授权结果
-
onDestroyView
void onDestroyView()
-
isContentView
boolean isContentView()
返回true时会自动初始化createRootView,返回为false是需自己去初始化createRootView
-
createRootView
@NonNull() View createRootView(LayoutInflater inflater, ViewGroup container)
创建mRootView
-
getLayoutId
int getLayoutId()
布局ID;通过覆写此方法可以自定义布局
-
getViewfinderViewId
int getViewfinderViewId()
viewfinderView 的 ID
-
getPreviewViewId
int getPreviewViewId()
预览界面previewView 的ID;可通过覆写此方法自定义ID
-
getFlashlightId
int getFlashlightId()
获取 ivFlashlight 的ID
-
getCameraScan
CameraScan getCameraScan()
获取 CameraScan
-
onScanResultCallback
boolean onScanResultCallback(Result result)
接收扫码结果回调
- Parameters:
result- 扫码结果
-
getRootView
View getRootView()
获取根视图
-
-
-
-