package com.yeshi.video.player.common; import android.app.Activity; import android.app.Dialog; import android.content.Context; import android.support.annotation.NonNull; import android.view.LayoutInflater; import android.view.View; import android.view.WindowManager; import com.lcjian.library.util.common.DimenUtils; import com.yeshi.video.player.R; public class VideoDataNotifyDialog extends Dialog { private IDialogClick dialogClick; public VideoDataNotifyDialog(@NonNull Context context) { super(context); } public VideoDataNotifyDialog(@NonNull Context context, int themeResId) { super(context, themeResId); } public static class Builder { private IDialogClick dialogClick; public Builder setDialogClick(IDialogClick dialogClick) { this.dialogClick = dialogClick; return this; } public VideoDataNotifyDialog build(Activity context) { final VideoDataNotifyDialog videoLoadingDialog = new VideoDataNotifyDialog(context, R.style.Dialog); View view = LayoutInflater.from(context).inflate(R.layout.item_player_notify, null); view.findViewById(R.id.tv_contiue).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (dialogClick != null) dialogClick.continuePlay(); if (videoLoadingDialog.isShowing()) videoLoadingDialog.dismiss(); } }); view.findViewById(R.id.tv_close).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (dialogClick != null) dialogClick.close(); if (videoLoadingDialog.isShowing()) videoLoadingDialog.dismiss(); } }); videoLoadingDialog.setContentView(view); WindowManager.LayoutParams params = videoLoadingDialog.getWindow() .getAttributes(); params.width = DimenUtils.getScreenWidth(context) * 5 / 6; params.height = WindowManager.LayoutParams.WRAP_CONTENT; videoLoadingDialog.getWindow().setAttributes(params); videoLoadingDialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent); //去除半透明阴影 WindowManager.LayoutParams layoutParams = videoLoadingDialog.getWindow().getAttributes(); layoutParams.dimAmount = 0.0f; videoLoadingDialog.getWindow().setAttributes(layoutParams); videoLoadingDialog.setCanceledOnTouchOutside(false); return videoLoadingDialog; } } interface IDialogClick { public void continuePlay(); public void close(); } }