先看效果
点击一个按钮然后弹出一张图片提示XXXX 内容
`上代码 逻辑代码
import android.annotation.SuppressLint
import android.app.AlertDialog
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.widget.TextView
import com.weiaiyun.module_main.R
/**
* Created by
* 自定义选择弹框
*/
@SuppressLint("InflateParams")
class CustomImageDialog(context: Context?) : AlertDialog(context){
var mCallBack: ClickCallBack? = null
constructor(context: Context?, callBack: ClickCallBack) : this(context) {
mCallBack = callBack
}
init {
val inflate = LayoutInflater.from(context).inflate(R.layout.dialog_img_custom, null,true)
inflate.alpha = 1.0f;
setView(inflate)
//设置点击别的区域不关闭页面
setCancelable(true)
}
interface ClickCallBack {
fun onYesClick(dialog:CustomImageDialog)
}
}
样式XML代码 这边图片路径是自己的图片 使用的时候需要切换一下路径
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="@dimen/space_180"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="center"
>
<ImageView
android:padding="@dimen/space_50"
android:layout_width="match_parent"
android:layout_height="@dimen/space_180"
android:background="@mipmap/developicon"
android:layout_gravity="center"
android:scaleType="fitStart"
android:adjustViewBounds="true"
/>
</LinearLayout>
使用 在
setOnItemClickListener 方法下使用下面代码就可以了
CustomImageDialog(this, object : CustomImageDialog.ClickCallBack {
override fun onYesClick(dialog: CustomImageDialog) {
}
}).show()
`
大功告成