class ImagePickerDialog : DialogFragment(), View.OnClickListener { companion object { fun newInstance(): ImagePickerDialog { return ImagePickerDialog() } } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setStyle(STYLE_NORMAL, R.style.DialogStyle) } override fun onActivityCreated(arg0: Bundle?) { super.onActivityCreated(arg0) dialog!!.window!!.attributes.windowAnimations = R.style.DialogZoomAnim } override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { isCancelable = false return inflater.inflate(R.layout.dialog_image_picker, container, false) } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) setListener() } fun setListener() { ll_camera.setOnClickListener(this) ll_gallery.setOnClickListener(this) txt_dialog_close.setOnClickListener { dismiss() } } override fun onResume() { super.onResume() val window = dialog!!.window val size = Point() val display = window!!.windowManager.defaultDisplay display.getSize(size) val width = size.x window.setLayout((width * 0.85).toInt(), WindowManager.LayoutParams.WRAP_CONTENT) window.setGravity(Gravity.CENTER) } override fun onClick(view: View?) { when (view?.id) { R.id.ll_camera -> { val values = ContentValues() values.put(MediaStore.Images.Media.TITLE, "NEW") val capturedImage = activity?.contentResolver ?.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values) val takePicktureIntent = Intent(MediaStore.ACTION_IMAGE_CAPTURE) takePicktureIntent.putExtra(MediaStore.EXTRA_OUTPUT, capturedImage) activity?.startActivityForResult(takePicktureIntent, Constants.REQUEST_CAMERA) dismiss() } R.id.ll_gallery -> { val galleryIntent = Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI) activity?.startActivityForResult(galleryIntent, Constants.REQUEST_GALLERY) dismiss() } } } }