package com.dl7.player.widgets;
import android.content.DialogInterface;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.DialogFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.TextView;
import com.dl7.player.R;
/**
* Created by long on 2016/11/17.
*/
public class ShareDialog extends DialogFragment {
private OnDialogClickListener mClickListener;
private OnDialogDismissListener mDismissListener;
private Bitmap mBitmap;
private boolean mIsShareMode = false;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);
Window window = getDialog().getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
window.setWindowAnimations(R.style.AnimateDialog);
window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
View view = inflater.inflate(R.layout.dialog_share, container);
final ImageView photo = (ImageView) view.findViewById(R.id.iv_screenshot_photo);
ViewGroup.LayoutParams layoutParams = photo.getLayoutParams();
layoutParams.width = getResources().getDisplayMetrics().widthPixels * 7 / 10;
layoutParams.height = getResources().getDisplayMetrics().heightPixels * 7 / 10;
photo.setLayoutParams(layoutParams);
if (mBitmap != null) {
photo.setImageBitmap(mBitmap);
}
view.findViewById(R.id.btn_cancel).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
}
});
TextView tvShare = (TextView) view.findViewById(R.id.btn_share);
if (mIsShareMode) {
tvShare.setText("分享");
}
tvShare.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mClickListener != null) {
mClickListener.onShare(mBitmap, null);
}
dismiss();
}
});
return view;
}
@Override
public void dismiss() {
super.dismiss();
if (mDismissListener != null) {
mDismissListener.onDismiss();
}
}
@Override
public void onCancel(DialogInterface dialog) {
super.onCancel(dialog);
// 点击外部回调这里
if (mDismissListener != null) {
mDismissListener.onDismiss();
}
}
public void setScreenshotPhoto(Bitmap bitmap) {
mBitmap = bitmap;
}
public void setClickListener(OnDialogClickListener clickListener) {
mClickListener = clickListener;
}
public void setDismissListener(OnDialogDismissListener dismissListener) {
mDismissListener = dismissListener;
}
public void setShareMode(boolean shareMode) {
mIsShareMode = shareMode;
}
public interface OnDialogClickListener {
void onShare(Bitmap bitmap, Uri uri);
}
public interface OnDialogDismissListener {
void onDismiss();
}
}