package com.shunzhi.parent.views; import android.app.Dialog; import android.content.Context; import android.content.res.Resources; import android.os.Bundle; import android.text.method.ScrollingMovementMethod; import android.util.DisplayMetrics; import android.view.Gravity; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.widget.Button; import android.widget.TextView; import com.shunzhi.parent.R; /** * 自定义dialog * @author Mr.Xu * */ public class MyVersionDialog extends Dialog { //定义回调事件,用于dialog的点击事件 public interface OnCustomDialogListener{ public void clickSure(); public void clickCancel(); } private OnCustomDialogListener customDialogListener; String version = "",size="",content =""; public MyVersionDialog(Context context, String pVerion, String pSize, String pContent, int style, OnCustomDialogListener customDialogListener) { super(context, style); this.customDialogListener = customDialogListener; version = pVerion; size = pSize; content = pContent; Window window = getWindow(); WindowManager.LayoutParams params = window.getAttributes(); //set width,height by density and gravity float density = getDensity(context); params.width = (int) (300*density); params.height = (int) (90*density); params.gravity = Gravity.CENTER; //WindowManager.LayoutParams p = getWindow().getAttributes(); //获取对话框当前的参数值 //Display d = window.getDefaultDisplay(); //为获取屏幕宽、高 //p.height = (int) (d.getHeight() * 0.6); //高度设置为屏幕的0.6 //p.width = (int) (d.getWidth() * 0.95); //宽度设置为屏幕的0.95 window.setAttributes(params); } private float getDensity(Context context) { Resources resources = context.getResources(); DisplayMetrics dm = resources.getDisplayMetrics(); return dm.density; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.myversiondialog); Button clickBtn = (Button) findViewById(R.id.btnSure); clickBtn.setOnClickListener(clickListener); Button clearBtn = (Button) findViewById(R.id.btnCancel); clearBtn.setOnClickListener(clearListener); TextView txtVersionNum = (TextView) findViewById(R.id.txtVersionNum); txtVersionNum.setText(version); TextView txtSizeNum = (TextView) findViewById(R.id.txtSizeNum); txtSizeNum.setText(size); TextView txtContent = (TextView) findViewById(R.id.txtContent); txtContent.setText(content); txtContent.setMovementMethod(ScrollingMovementMethod.getInstance()) ; } private View.OnClickListener clickListener = new View.OnClickListener() { @Override public void onClick(View v) { customDialogListener.clickSure(); MyVersionDialog.this.dismiss(); } }; private View.OnClickListener clearListener = new View.OnClickListener() { @Override public void onClick(View v) { customDialogListener.clickCancel(); MyVersionDialog.this.dismiss(); } }; }