视频直播源码,图片选择器ImagePicker
视频直播源码,图片选择器ImagePicker
引入
1 | gradle<br>allprojects {<br> repositories {<br> maven { url 'https://jitpack.io' }<br> }<br>}<br>implementation 'com.github.DL-ZhangTeng:ImagePicker:1.5.0' <br>//使用的三方<br>implementation 'com.github.bumptech.glide:glide:4.12.0' <br>implementation 'com.yalantis:ucrop:2.2.0' <br>implementation 'com.github.DL-ZhangTeng:RequestPermission:1.3.0' <br>implementation 'com.github.DL-ZhangTeng:Utils:2.2.0' <br> |
使用
1 | public class MainActivity extends AppCompatActivity {<br> @Override<br> protected void onCreate(Bundle savedInstanceState) {<br> super.onCreate(savedInstanceState);<br> setContentView(R.layout.activity_main);<br> ImagePickerConfig imagePickerConfig = new ImagePickerConfig.Builder()<br> .provider(getPackageName() + ".FileProvider" )<br> .imageLoader( new GlideImageLoader()) //图片加载器<br> .iHandlerCallBack(new HandlerCallBack()) //图片选择器生命周期监听(直接打开摄像头时无效)<br> .multiSelect(true) //是否多选<br> .isShowCamera(true)<br> .isVideoPicker(true) //是否选择视频 默认false<br> .isImagePicker(true)<br> .imagePickerType(ImagePickerEnum.PHOTO_PICKER) //选择器打开类型<br> .isMirror(false) //是否旋转镜头<br> .maxImageSelectable(9) //图片可选择数<br> .maxHeight(1920) //图片最大高度<br> .maxWidth(1920) //图片最大宽度<br> .maxImageSize(15) //图片最大大小Mb<br> .maxVideoLength(5 * 1000)<br> .maxVideoSize(180)<br> .isCrop(true)<br> .pathList(new ArrayList<>())<br> .pickerThemeColorRes(R.color.image_picker_white)<br> .pickerTitleColorRes(R.color.image_picker_text_black)<br> .cropThemeColorRes(R.color.image_picker_white)<br> .cropTitleColorRes(R.color.image_picker_text_black)<br> .pickerBackRes(R.mipmap.image_picker_back_black)<br> .pickerFolderRes(R.mipmap.image_picker_folder_black)<br> .build();<br> findViewById(R.id.iv).setOnClickListener(v -> {<br>// imagePickerConfig.getPathList().clear();<br> ImagePickerOpen.getInstance()<br> .setImagePickerConfig(imagePickerConfig)<br> .pathList(new ArrayList<>())<br> .open(this, 100);<br> });<br> }<br> @Override<br> protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {<br> super.onActivityResult(requestCode, resultCode, data);<br> if (requestCode == 100 && data != null) {<br> List<String> paths = ImagePickerOpen.getResultData(this, resultCode, data);<br> ImagePickerOpen.getInstance().getImagePickerConfig().getImageLoader().loadImage(this, findViewById(R.id.iv), paths.get(0));<br> }<br> }<br>}<br> <br>public class HandlerCallBack implements IHandlerCallBack<ImageInfo> {<br> private String TAG = "---ImagePicker---";<br> List<ImageInfo> photoList = new ArrayList<>();<br> @Override<br> public void onStart() {<br> Log.i(TAG, "onStart: 开启");<br> }<br> @Override<br> public void onSuccess(List<ImageInfo> photoList) {<br> this.photoList = photoList;<br> Log.i(TAG, "onSuccess: 返回数据");<br> }<br> @Override<br> public void onCancel() {<br> Log.i(TAG, "onCancel: 取消");<br> }<br> @Override<br> public void onFinish(List<ImageInfo> selectImage) {<br> }<br> @Override<br> public void onError() {<br> Log.i(TAG, "onError: 出错");<br> }<br>} |
以上就是视频直播源码,图片选择器ImagePicker, 更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现