MyVersionDialog.java 3.29 KB
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();
        }
    };
}