234 lines
5.6 KiB
Java
234 lines
5.6 KiB
Java
package cn.shangyu.gdxzExpert.widget;
|
|
|
|
import android.app.AlertDialog;
|
|
import android.app.AlertDialog.Builder;
|
|
import android.content.Context;
|
|
import android.view.View;
|
|
import android.view.View.OnClickListener;
|
|
import android.widget.Button;
|
|
import android.widget.ProgressBar;
|
|
import android.widget.TextView;
|
|
import cn.shangyu.gdxzExpert.R;
|
|
|
|
|
|
/**
|
|
*
|
|
* 类名称:MyAlertDialog
|
|
* 类描述:自定义对话框,包含进度条的对话框,也可以填充自定义布局的对话框,为空则设置默认自定义的对话框
|
|
* 创建人:苏三元
|
|
* 时间:2015-9-7 上午10:50:10
|
|
* 版权:河南商宇科技有限公司--版权所有 (c) 2015
|
|
*
|
|
*/
|
|
public class MyAlertDialog implements OnClickListener{
|
|
|
|
private Context context;
|
|
private ProgressBar pb_update;
|
|
private TextView tv_message;
|
|
private Button bt_cancle;
|
|
private AlertDialog d;
|
|
private TextView tv_title;
|
|
private Button bt_ok;
|
|
private View view = null;
|
|
private Builder builder;
|
|
private Button bt_singlebutton;
|
|
|
|
public MyAlertDialog(Context context) {
|
|
super();
|
|
this.context = context;
|
|
init();
|
|
}
|
|
|
|
public TextView getTv_title() {
|
|
return tv_title;
|
|
}
|
|
|
|
public Button getBt_singlebutton() {
|
|
return bt_singlebutton;
|
|
}
|
|
|
|
public Button getBt_ok() {
|
|
return bt_ok;
|
|
}
|
|
|
|
public Context getContext() {
|
|
return context;
|
|
}
|
|
|
|
public ProgressBar getPb_update() {
|
|
return pb_update;
|
|
}
|
|
|
|
public TextView getTv_message() {
|
|
return tv_message;
|
|
}
|
|
|
|
public Button getBt_cancle() {
|
|
return bt_cancle;
|
|
}
|
|
|
|
public AlertDialog getD() {
|
|
return d;
|
|
}
|
|
|
|
public View getView() {
|
|
return view;
|
|
}
|
|
|
|
/**
|
|
* 设置对话框布局,如果设置了,只有对话框的方法可使用,控件的方法勿使用,为空则设置默认自定义的对话框
|
|
*/
|
|
public void setView(View view) {
|
|
this.view = view;
|
|
}
|
|
|
|
private void init() {
|
|
builder = new Builder(getContext(), R.style.CustomDialogStyle);
|
|
if(getView() == null){
|
|
view = View.inflate(getContext(), R.layout.update_dialog, null);
|
|
|
|
tv_title = (TextView) view.findViewById(R.id.tv_title);
|
|
pb_update = (ProgressBar) view.findViewById(R.id.pb_update);
|
|
tv_message = (TextView) view.findViewById(R.id.tv_message);
|
|
bt_singlebutton = (Button) view.findViewById(R.id.bt_cancle_update);
|
|
bt_ok = (Button) view.findViewById(R.id.bt_dialog_ok);
|
|
bt_cancle = (Button) view.findViewById(R.id.bt_dialog_cancle);
|
|
|
|
bt_singlebutton.setOnClickListener(this);
|
|
bt_ok.setOnClickListener(this);
|
|
bt_cancle.setOnClickListener(this);
|
|
}
|
|
|
|
|
|
}
|
|
|
|
/**
|
|
* 设置单个按钮是否显示状态,默认不显示
|
|
*/
|
|
public void setSingleButton(int visibility ){
|
|
bt_singlebutton.setVisibility(visibility);
|
|
}
|
|
/**
|
|
* 设置对话框单个按钮,设置监听器后要设置对话框dismiss
|
|
*/
|
|
public void setSingleButton(String text, final OnClickListener listener){
|
|
if(text != null || text != ""){
|
|
bt_singlebutton.setText(text);
|
|
}
|
|
if(listener != null){
|
|
bt_singlebutton.setOnClickListener(listener);
|
|
}
|
|
}
|
|
/**
|
|
* 设置对话框确定按钮
|
|
*/
|
|
public void setPositiveButton(String text, final OnClickListener listener){
|
|
if(text != null || text != ""){
|
|
bt_ok.setText(text);
|
|
}
|
|
if(listener != null){
|
|
bt_ok.setOnClickListener(listener);
|
|
}
|
|
}
|
|
/**
|
|
* 设置对话框取消按钮
|
|
*/
|
|
public void setNegativeButton(String text, final OnClickListener listener){
|
|
if(text != null || text != ""){
|
|
bt_cancle.setText(text);
|
|
}
|
|
if(listener != null){
|
|
bt_cancle.setOnClickListener(listener);
|
|
}
|
|
}
|
|
/**
|
|
* 设置升级进度条是否显示状态,默认gone
|
|
*/
|
|
public void setProgressBarVisibility(int visibility ){
|
|
pb_update.setVisibility(visibility);
|
|
}
|
|
/**
|
|
* 设置升级进度条的进度
|
|
*/
|
|
public void setProgress(int p ){
|
|
pb_update.setProgress(p);
|
|
}
|
|
/**
|
|
* 设置信息是否显示状态,默认显示
|
|
*/
|
|
public void setMessageVisibility(int visibility ){
|
|
tv_message.setVisibility(visibility);
|
|
}
|
|
/**
|
|
* 设置信息
|
|
*/
|
|
public void setMessage(String mes){
|
|
tv_message.setText(mes);
|
|
}
|
|
/**
|
|
* 设置对话框标题是否显示状态,默认显示
|
|
*/
|
|
public void setTitleVisibility(int visibility ){
|
|
tv_title.setVisibility(visibility);
|
|
}
|
|
/**
|
|
* 设置对话框标题
|
|
*/
|
|
public void setTitle(String title ){
|
|
tv_title.setText(title);
|
|
}
|
|
/**
|
|
* 设置对话框是否消失
|
|
*/
|
|
public void dismiss(){
|
|
d.dismiss();
|
|
}
|
|
/**
|
|
* 设置对话框填充的布局View
|
|
*/
|
|
public void setDialogView(View view){
|
|
d.setView(view, 0, 0, 0, 0);
|
|
}
|
|
/**
|
|
* 设置返回键不可以取消对话框,默认为TRUE
|
|
*/
|
|
public void setCancelable(Boolean b){
|
|
builder.setCancelable(b);
|
|
}
|
|
/**
|
|
* 设置对话框创建显示
|
|
*/
|
|
public void show(){
|
|
d = builder.create();
|
|
setDialogView(view);
|
|
d.show();
|
|
}
|
|
|
|
@Override
|
|
public void onClick(View v) {
|
|
dismiss();
|
|
|
|
}
|
|
|
|
// final Dialog dialog = new Dialog(SplashActivity.this, R.style.dialog);
|
|
// dialog.setCancelable(false);
|
|
// // 设置普通对话框的布局
|
|
// dialog.setContentView(R.layout.update_dialog);
|
|
// pb_update = (ProgressBar) dialog.findViewById(R.id.pb_update);
|
|
// tv_update = (TextView) dialog.findViewById(R.id.tv_update);
|
|
//// tv_jindu = (TextView) dialog.findViewById(R.id.tv_jindu);
|
|
// bt_cancle = (Button) dialog.findViewById(R.id.bt_cancle_update);
|
|
// bt_cancle.setOnClickListener(new View.OnClickListener() {
|
|
//
|
|
// @Override
|
|
// public void onClick(View v) {
|
|
// hh.stop();
|
|
// dialog.dismiss();
|
|
// enterHome();
|
|
// }
|
|
// });
|
|
// dialog.show();
|
|
|
|
|
|
}
|