通常在社交类型的APP上都会有这么一个需求,就是评论的时候通常要带有文字或者是文字+图片。针对这一需求设计了一款相关的控件CommentBottomBar。
本框架无需处理复杂的逻辑,只需要简单调用即可,本框架图片选择使用Zfilepicker。
方法名 | 描述 |
---|---|
delegation(Context context) | 创建方法 |
show(String hint) | 弹出评论框并填写评论的hint |
dismiss() | 隐藏评论弹出框,并隐藏软键盘 |
setImages(ArrayList images) | 添加图片 |
getAdapterData() | 获取当前评论框内的图片 |
getAdapter() | 获取弹出框图片的adapter |
getCommentText() | 获取评论的内容 |
clear() | 清理评论文本内容以及评论的图片内容 |
appendText(String text) | 拼接评论文字 |
首先要在项目的根build.gradle
下添加:
allprojects {
repositories {
maven { url "https://jitpack.io" }
}
}
然后要在要依赖的module中添加
dependencies {
implementation 'com.github.EverZc:CommentBottomBar:latest.release.here'
}
CommentBottomBar使用起来非常简单
//第一步:初始化控件
ZBottomSheetPictureBar commentZBSP = ZBottomSheetPictureBar.delegation(MainActivity.this);
//第二步:弹出底部评论栏,并设置hint
commentZBSP.show("期待您的神回复");
//第三步:设置控件内的点击回调(添加图片以及提交按钮)
commentZBSP.setOnSeetBarOnClickListener(new ZBottomSheetPictureBar.OnSheetBarOnClickListener() {
@Override
public void onAddClick() {
Intent intent = new Intent(MainActivity.this, ImagePickActivityPicker.class);
intent.putExtra(IS_NEED_CAMERA, true);
int maxNumber = commentZBSP.getAdapterData().isEmpty() ?
ZBottomConstant.ARTICLE_IMAGE_MAX : ZBottomConstant.ARTICLE_IMAGE_MAX - commentZBSP.getAdapterData().size();
intent.putExtra(FilePicker.MAX_NUMBER, maxNumber);
startActivityForResult(intent, ZBottomConstant.REQUEST_CODE_PICK_IMAGE);
}
@Override
public void onCommitClick(ArrayList<ImageFile> images, EditText editText) {
//此处是点击按钮,具体处理处理提交评论的文字以及图片
}
});
//第四步:处理选择的图片,设置到弹窗控件中。
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case ZBottomConstant.REQUEST_CODE_PICK_IMAGE:
//获取选择的图片
if (resultCode == RESULT_OK) {
ArrayList<ImageFile> imageList = data.getParcelableArrayListExtra(FilePicker.RESULT_PICK_IMAGE);
commentZBSP.setImages(imageList);
}
break;
}
}
# glide 的混淆代码
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
**[] $VALUES;
public *;
}
# CommentBottomBar 的混淆代码
-
问:如何自定图片加载框架?
- 答:欢迎自定义使用本人的另一个图片加载框架,如果使用自定义的框架只要图片的实体修改为ImageFile即可使用。
- 我的简书:https://www.jianshu.com/u/197319888337 有兴趣的也可以关注,大家一起交流