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();
|
}
|
|
}
|