-
- All Implemented Interfaces:
-
android.content.ComponentCallbacks,android.view.View.OnCreateContextMenuListener,androidx.lifecycle.LifecycleOwner,androidx.lifecycle.ViewModelStoreOwner,androidx.savedstate.SavedStateRegistryOwner,com.king.camera.scan.CameraScan.OnScanResultCallback
public abstract class BaseCameraScanFragment<T> extends Fragment implements CameraScan.OnScanResultCallback<T>
相机扫描基类;BaseCameraScanFragment 内部持有CameraScan,便于快速实现扫描识别。
快速实现扫描识别主要有以下几种方式:
1、通过继承 BaseCameraScanActivity或者BaseCameraScanFragment或其子类,可快速实现扫描识别。 (适用于大多数场景,自定义布局时需覆写getLayoutId方法)
2、在你项目的Activity或者Fragment中实例化一个BaseCameraScan。(适用于想在扫描界面写交互逻辑,又因为项目 架构或其它原因,无法直接或间接继承BaseCameraScanActivity或BaseCameraScanFragment时使用)
3、继承CameraScan自己实现一个,可参照默认实现类BaseCameraScan,其他步骤同方式2。(高级用法,谨慎使用)
-
-
Method Summary
Modifier and Type Method Description ViewonCreateView(@NonNull() LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)voidonViewCreated(@NonNull() View view, @Nullable() Bundle savedInstanceState)voidinitUI()初始化 voidinitCameraScan(@NonNull() CameraScan<T> cameraScan)初始化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;通过覆写此方法可以自定义布局 intgetPreviewViewId()预览视图previewView的ID intgetFlashlightId()获取 ivFlashlight 的ID CameraScan<T>getCameraScan()获取CameraScan ViewgetRootView()获取根视图 CameraScan<T>createCameraScan(PreviewView previewView)创建CameraScan abstract Analyzer<T>createAnalyzer()创建分析器 -
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.camera.scan.CameraScan.OnScanResultCallback
onScanResultCallback, onScanResultFailure -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
onCreateView
View onCreateView(@NonNull() LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
-
onViewCreated
void onViewCreated(@NonNull() View view, @Nullable() Bundle savedInstanceState)
-
initUI
void initUI()
初始化
-
initCameraScan
void initCameraScan(@NonNull() CameraScan<T> cameraScan)
初始化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
- Parameters:
inflater- LayoutInflatercontainer- ViewGroup
-
getLayoutId
int getLayoutId()
布局ID;通过覆写此方法可以自定义布局
-
getPreviewViewId
int getPreviewViewId()
预览视图previewView的ID
-
getFlashlightId
int getFlashlightId()
获取 ivFlashlight 的ID
-
getCameraScan
CameraScan<T> getCameraScan()
-
getRootView
View getRootView()
获取根视图
-
createCameraScan
@NonNull() CameraScan<T> createCameraScan(PreviewView previewView)
- Parameters:
previewView- PreviewView
-
createAnalyzer
@Nullable() abstract Analyzer<T> createAnalyzer()
创建分析器
-
-
-
-