| | |
| | | import android.widget.TextView |
| | | import cn.flightfeather.thirdapp.R |
| | | import cn.flightfeather.thirdapp.module.base.BaseActivity |
| | | import cn.flightfeather.thirdapp.view.PopupWindowWithMask |
| | | |
| | | /** |
| | | * @author riku |
| | | * Date: 2020/5/14 |
| | | */ |
| | | object DialogUtil2 { |
| | | |
| | | fun showLoadingDialog(context: Context, message: CharSequence?, cancelable: Boolean, cancelListener: DialogInterface.OnCancelListener?): Dialog? { |
| | | val dialog = Dialog(context) |
| | | val view = LayoutInflater.from(context).inflate(R.layout.layout_loading, null) |
| | | dialog.setContentView(view) |
| | | if (message.isNullOrBlank()) { |
| | | view.findViewById<TextView>(R.id.txt_tip).visibility = View.GONE |
| | | } else { |
| | | view.findViewById<TextView>(R.id.txt_tip).apply { |
| | | visibility = View.VISIBLE |
| | | text = message |
| | | } |
| | | } |
| | | dialog.setCanceledOnTouchOutside(false) |
| | | dialog.setCancelable(cancelable) |
| | | dialog.setOnCancelListener(cancelListener) |
| | | dialog.window?.attributes?.gravity = Gravity.CENTER |
| | | val lp = dialog.window?.attributes |
| | | lp?.dimAmount = 0.2f |
| | | dialog.window?.attributes = lp |
| | | dialog.show() |
| | | return dialog |
| | | } |
| | | |
| | | fun showAlertDialog( |
| | | context: Context?, |
| | |
| | | ) { |
| | | val view = LayoutInflater.from(activity).inflate(R.layout.dialog_bottom_sheet, null) |
| | | activity?.let { |
| | | PopupWindow(it).apply popupWindow@{ |
| | | PopupWindowWithMask(it).apply popupWindow@{ |
| | | isFocusable = true |
| | | isOutsideTouchable = true |
| | | contentView = view |
| | |
| | | width = ViewGroup.LayoutParams.MATCH_PARENT |
| | | animationStyle = R.style.PopWin_bottom_anim_style |
| | | background.alpha = 0 |
| | | setOnDismissListener { |
| | | val wl = activity.window.attributes |
| | | wl.alpha = 1f |
| | | activity.window.attributes = wl |
| | | } |
| | | }.run { |
| | | val wl = activity.window.attributes |
| | | wl.alpha = 0.9f |
| | | activity.window.attributes = wl |
| | | showAtLocation(anchorView, Gravity.BOTTOM, 0, 0) |
| | | |
| | | } |
| | | } |
| | | } |