Commit a7a062c0 authored by yinjiacheng's avatar yinjiacheng

update 图片填充判空

parent 5a9c632b
...@@ -16,98 +16,100 @@ import com.yidian.shenghuoquan.newscontent.databinding.ViewLifeAccountAuthImageB ...@@ -16,98 +16,100 @@ import com.yidian.shenghuoquan.newscontent.databinding.ViewLifeAccountAuthImageB
* description: 生活号认证 身份证上传 * description: 生活号认证 身份证上传
*/ */
class LifeAccountAuthImageView @JvmOverloads constructor( class LifeAccountAuthImageView @JvmOverloads constructor(
context: Context, context: Context,
val attrs: AttributeSet? = null, val attrs: AttributeSet? = null,
defStyle: Int = 0 defStyle: Int = 0
) : YdConstraintLayout(context, attrs, defStyle), View.OnClickListener { ) : YdConstraintLayout(context, attrs, defStyle), View.OnClickListener {
private val viewBinding = ViewLifeAccountAuthImageBinding.bind( private val viewBinding = ViewLifeAccountAuthImageBinding.bind(
View.inflate( View.inflate(
getContext(), getContext(),
R.layout.view_life_account_auth_image, R.layout.view_life_account_auth_image,
this this
)
) )
)
private var callback: OnLifeAccountAuthImageViewCallback? = null private var callback: OnLifeAccountAuthImageViewCallback? = null
init { init {
val typeArray = val typeArray =
getContext().obtainStyledAttributes(attrs, R.styleable.LifeAccountAuthImageView) getContext().obtainStyledAttributes(attrs, R.styleable.LifeAccountAuthImageView)
viewBinding.ivPlaceHolder.setImageResource( viewBinding.ivPlaceHolder.setImageResource(
typeArray.getResourceId( typeArray.getResourceId(
R.styleable.LifeAccountAuthImageView_LifeAccountAuthImageView_place_holder_image, R.styleable.LifeAccountAuthImageView_LifeAccountAuthImageView_place_holder_image,
-1 -1
) )
) )
typeArray.recycle() typeArray.recycle()
viewBinding.ivClear.setOnClickListener(this) viewBinding.ivClear.setOnClickListener(this)
} }
/** /**
* 填充图片 * 填充图片
* @param resId 图片资源id * @param resId 图片资源id
*/ */
fun addImage(resId: Int) { fun addImage(resId: Int) {
viewBinding.ivContent.setImageResource(resId) viewBinding.ivContent.setImageResource(resId)
isEnabled = false isEnabled = false
viewBinding.ivClear.isVisible = true viewBinding.ivClear.isVisible = true
} }
/** /**
* 填充图片 * 填充图片
* @param bitmap 图片bitmap * @param bitmap 图片bitmap
*/ */
fun addImage(bitmap: Bitmap?) { fun addImage(bitmap: Bitmap?) {
viewBinding.ivContent.setImageBitmap(bitmap) if (bitmap == null) return
isEnabled = false viewBinding.ivContent.setImageBitmap(bitmap)
viewBinding.ivClear.isVisible = true isEnabled = false
} viewBinding.ivClear.isVisible = true
}
/** /**
* 填充图片 * 填充图片
* @param url 图片url * @param url 图片url
*/ */
fun addImage(url: String) { fun addImage(url: String) {
Glide.with(context).load(url).into(viewBinding.ivContent) if (url.isEmpty()) return
isEnabled = false Glide.with(context).load(url).into(viewBinding.ivContent)
viewBinding.ivClear.isVisible = true isEnabled = false
} viewBinding.ivClear.isVisible = true
}
/** /**
* 清除图片 * 清除图片
*/ */
fun clearImage() { fun clearImage() {
viewBinding.ivContent.setImageDrawable(null) viewBinding.ivContent.setImageDrawable(null)
isEnabled = true isEnabled = true
viewBinding.ivClear.isVisible = false viewBinding.ivClear.isVisible = false
callback?.onImageClear(this) callback?.onImageClear(this)
} }
/** /**
* 禁止修改 * 禁止修改
*/ */
fun disableModify() { fun disableModify() {
viewBinding.ivClear.isVisible = false viewBinding.ivClear.isVisible = false
isEnabled = false isEnabled = false
} }
override fun onClick(v: View?) { override fun onClick(v: View?) {
if (v?.id == R.id.iv_clear) { if (v?.id == R.id.iv_clear) {
// 清除填充的图片 // 清除填充的图片
clearImage() clearImage()
}
} }
}
fun setOnLifeAccountAuthImageViewCallback(callback: OnLifeAccountAuthImageViewCallback) { fun setOnLifeAccountAuthImageViewCallback(callback: OnLifeAccountAuthImageViewCallback) {
this.callback = callback this.callback = callback
} }
interface OnLifeAccountAuthImageViewCallback { interface OnLifeAccountAuthImageViewCallback {
/** /**
* 清除图片 * 清除图片
*/ */
fun onImageClear(from: LifeAccountAuthImageView) fun onImageClear(from: LifeAccountAuthImageView)
} }
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment