第一种:bitmapDialog的建立

javademo1:

package com.demo.dialog;import android.app.Dialog;import android.content.Context;import android.graphics.Bitmap;import android.view.LayoutInflater;import android.view.View;import android.view.ViewTreeObserver;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.LinearLayout.LayoutParams;/** * Create custom Dialog windows for your application Custom dialogs rely on * custom layouts wich allow you to create and use your own look & feel. **/public class BitmapDialog extends Dialog {public BitmapDialog(Context context, int theme) {super(context, theme);}public BitmapDialog(Context context) {super(context);}/** * Helper class for creating a custom dialog */public static class Builder {@SuppressWarnings("unused")private ViewTreeObserver viewTreeObserver;private Context context;private View contentView;private ImageView img;private Bitmap bitmap;public Builder(Context context) {this.context = context;}public Builder setBitmap(Bitmap bit) {this.bitmap = bit;return this;}public Builder setContentView(View v) {this.contentView = v;return this;}/** *  * Create the custom dialog */public BitmapDialog create() {LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);// instantiate the dialog with the custom Themefinal BitmapDialog dialog = new BitmapDialog(context,R.style.Dialog);View layout = inflater.inflate(R.layout.bitmap_dialog_layout, null);dialog.addContentView(layout, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));if (bitmap != null) {img = (ImageView) layout.findViewById(R.id.bitmap_dialog_imageview);img.setImageBitmap(bitmap);}if (contentView != null) {// if no message set// add the contentView to the dialog body((LinearLayout) layout.findViewById(R.id.content)).removeAllViews();((LinearLayout) layout.findViewById(R.id.content)).addView(contentView,new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));}dialog.setContentView(layout);return dialog;}}}
javaDemo2
package com.demo.dialog;import android.content.Context;import android.graphics.Bitmap;/*自定义Dialog方法*/public class BitmapHelper {public static BitmapDialog createDialog(Context context, Bitmap bitmap) {BitmapDialog.Builder dialogBuilder = new BitmapDialog.Builder(context);dialogBuilder.setBitmap(bitmap);return dialogBuilder.create();}}

第二种:customDialog的建立:

javademo1:

package com.demo.dialog;import android.app.Dialog;import android.content.Context;import android.content.DialogInterface;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup.LayoutParams;import android.widget.Button;import android.widget.LinearLayout;import android.widget.TextView;/** * Create custom Dialog windows for your application Custom dialogs rely on * custom layouts wich allow you to create and use your own look & feel. **/public class CustomDialog extends Dialog {public CustomDialog(Context context, int theme) {super(context, theme);}public CustomDialog(Context context) {super(context);}/** * Helper class for creating a custom dialog */public static class Builder {private Context context;private String message;private String positiveButtonText;private String negativeButtonText;private View contentView;private boolean isWaitDialog;private DialogInterface.OnClickListenerpositiveButtonClickListener,negativeButtonClickListener;public Builder(Context context) {this.context = context;}/** *  * Set the Dialog message from String *  * @param title *  * @return */public Builder setMessage(String message) {this.message = message;return this;}public Builder setWiatDialog(boolean isWaitDialog) {this.isWaitDialog = isWaitDialog;return this;}/** *  * Set the Dialog message from resource *  * @param title *  * @return */public Builder setMessage(int message) {this.message = (String) context.getText(message);return this;}/** *  * Set a custom content view for the Dialog. *  * If a message is set, the contentView is not *  * added to the Dialog... *  * @param v *  * @return */public Builder setContentView(View v) {this.contentView = v;return this;}/** *  * Set the positive button resource and it's listener *  * @param positiveButtonText *  * @param listener *  * @return */public Builder setPositiveButton(int positiveButtonText,DialogInterface.OnClickListener listener) {this.positiveButtonText = (String) context.getText(positiveButtonText);this.positiveButtonClickListener = listener;return this;}/** *  * Set the positive button text and it's listener *  * @param positiveButtonText *  * @param listener *  * @return */public Builder setPositiveButton(String positiveButtonText,DialogInterface.OnClickListener listener) {this.positiveButtonText = positiveButtonText;this.positiveButtonClickListener = listener;return this;}/** *  * Set the negative button resource and it's listener *  * @param negativeButtonText *  * @param listener *  * @return */public Builder setNegativeButton(int negativeButtonText,DialogInterface.OnClickListener listener) {this.negativeButtonText = (String) context.getText(negativeButtonText);this.negativeButtonClickListener = listener;return this;}/** *  * Set the negative button text and it's listener *  * @param negativeButtonText *  * @param listener *  * @return */public Builder setNegativeButton(String negativeButtonText,DialogInterface.OnClickListener listener) {this.negativeButtonText = negativeButtonText;this.negativeButtonClickListener = listener;return this;}/** *  * Create the custom dialog */public CustomDialog create() {LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);// instantiate the dialog with the custom Themefinal CustomDialog dialog = new CustomDialog(context,R.style.Dialog);View layout = inflater.inflate(R.layout.custom_dialog_layout, null);dialog.addContentView(layout, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));// set the confirm buttonif (positiveButtonText != null) {((Button) layout.findViewById(R.id.positiveButton)).setText(positiveButtonText);if (positiveButtonClickListener != null) {((Button) layout.findViewById(R.id.positiveButton)).setOnClickListener(new View.OnClickListener() {public void onClick(View v) {positiveButtonClickListener.onClick(dialog,DialogInterface.BUTTON_POSITIVE);}});}} else {// if no confirm button just set the visibility to GONElayout.findViewById(R.id.positiveButton).setVisibility(View.GONE);}if (isWaitDialog) {layout.findViewById(R.id.progressBar1).setVisibility(View.VISIBLE);} else {layout.findViewById(R.id.progressBar1).setVisibility(View.GONE);}// set the cancel buttonif (negativeButtonText != null) {((Button) layout.findViewById(R.id.negativeButton)).setText(negativeButtonText);if (negativeButtonClickListener != null) {((Button) layout.findViewById(R.id.negativeButton)).setOnClickListener(new View.OnClickListener() {public void onClick(View v) {negativeButtonClickListener.onClick(dialog,DialogInterface.BUTTON_NEGATIVE);}});}} else {// if no confirm button just set the visibility to GONElayout.findViewById(R.id.negativeButton).setVisibility(View.GONE);}// set the content messageif (message != null) {((TextView) layout.findViewById(R.id.message)).setText(message);} else if (contentView != null) {// if no message set// add the contentView to the dialog body((LinearLayout) layout.findViewById(R.id.content)).removeAllViews();((LinearLayout) layout.findViewById(R.id.content)).addView(contentView,new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));}dialog.setContentView(layout);return dialog;}}}

javaDemo2:

package com.demo.dialog;import android.content.Context;import android.content.DialogInterface;/*customdialog*/public class CustomDialogHelper {public static CustomDialog createDialog(Context context, String msg) {CustomDialog.Builder dialogBuilder = new CustomDialog.Builder(context);dialogBuilder.setWiatDialog(false);dialogBuilder.setMessage(msg);return dialogBuilder.create();}public static CustomDialog createDialogWait(Context context, String msg) {CustomDialog.Builder dialogBuilder = new CustomDialog.Builder(context);dialogBuilder.setWiatDialog(true);dialogBuilder.setMessage(msg);return dialogBuilder.create();}public static CustomDialog createDialog(Context context, String title,String msg, String btnName) {CustomDialog.Builder dialogBuilder = new CustomDialog.Builder(context);dialogBuilder.setWiatDialog(false);dialogBuilder.setMessage(msg);dialogBuilder.setNegativeButton(btnName,new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) {dialog.dismiss();}});return dialogBuilder.create();}public static CustomDialog createProgressDialog(Context context,String title, String msg) {CustomDialog.Builder dialogBuilder = new CustomDialog.Builder(context);dialogBuilder.setWiatDialog(true);dialogBuilder.setMessage(msg);return dialogBuilder.create();}public static CustomDialog createDialog1(Context context, String msg,String btnName) {CustomDialog.Builder dialogBuilder = new CustomDialog.Builder(context);dialogBuilder.setWiatDialog(false);dialogBuilder.setMessage(msg);dialogBuilder.setNegativeButton(btnName,new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) {dialog.dismiss();}});return dialogBuilder.create();}}
第三种:

Logdialog的建立:javaDemo1

package com.demo.dialog;import android.app.Dialog;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup.LayoutParams;import android.widget.LinearLayout;import android.widget.TextView;/** * Create custom Dialog windows for your application Custom dialogs rely on * custom layouts wich allow you to create and use your own look & feel. **/public class LogDialog extends Dialog {public LogDialog(Context context, int theme) {super(context, theme);}public LogDialog(Context context) {super(context);}/** * Helper class for creating a custom dialog */public static class Builder {private Context context;private String message;private View contentView;public Builder(Context context) {this.context = context;}/** *  * Set the Dialog message from String *  * @param title *  * @return */public Builder setMessage(String message) {this.message = message;return this;}/** *  * Set the Dialog message from resource *  * @param title *  * @return */public Builder setMessage(int message) {this.message = (String) context.getText(message);return this;}/** *  * Set a custom content view for the Dialog. *  * If a message is set, the contentView is not *  * added to the Dialog... *  * @param v *  * @return */public Builder setContentView(View v) {this.contentView = v;return this;}/** *  * Create the custom dialog */public LogDialog create() {LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);// instantiate the dialog with the custom Themefinal LogDialog dialog = new LogDialog(context,R.style.Dialog);View layout = inflater.inflate(R.layout.log_dialog_layout, null);dialog.addContentView(layout, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));// set the content messageif (message != null) {((TextView) layout.findViewById(R.id.log_dialog_message)).setText(message);} else if (contentView != null) {// if no message set// add the contentView to the dialog body((LinearLayout) layout.findViewById(R.id.content)).removeAllViews();((LinearLayout) layout.findViewById(R.id.content)).addView(contentView,new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));}dialog.setContentView(layout);return dialog;}}}

javademo2:

package com.demo.dialog;import android.content.Context;public class LogDialogHelper {public static LogDialog createDialog(Context context, String msg) {LogDialog.Builder dialogBuilder = new LogDialog.Builder(context);dialogBuilder.setMessage(msg);return dialogBuilder.create();}}


第四种:

progressDialog的建立:(很多类是自定义的,还没修改)

Javademo1:

import android.app.Dialog;import android.content.Context;import android.content.DialogInterface;import android.os.Handler;import android.os.Message;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup.LayoutParams;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.widget.LinearLayout;import android.widget.ProgressBar;import android.widget.TextView;import android.widget.Toast;/** * Create custom Dialog windows for your application Custom dialogs rely on * custom layouts wich allow you to create and use your own look & feel. **/public class ProgressDialog extends Dialog {public ProgressDialog(Context context, int theme) {super(context, theme);}public ProgressDialog(Context context) {super(context);}/** * Helper class for creating a custom dialog */public static class Builder {private final int REQUESTFAIL = 0;private final int MEMBERCARDTHREAD = 20;private final int BILLTHREAD = 40;private final int ORDERBASETHREAD = 60;private final int INVOICETHREAD = 80;private final int UPLOADFINISH = 100;private Context context;private String message;private View contentView;private ProgressBar bar;private Animation animation;public Builder(Context context) {this.context = context;}public ProgressBar getBar() {return bar;}/** *  * Set the Dialog message from String *  * @param title *  * @return */public Builder setMessage(String message) {this.message = message;return this;}/** *  * Set the Dialog message from resource *  * @param title *  * @return */public Builder setMessage(int message) {this.message = (String) context.getText(message);return this;}/** *  * Set a custom content view for the Dialog. *  * If a message is set, the contentView is not *  * added to the Dialog... *  * @param v *  * @return */public Builder setContentView(View v) {this.contentView = v;return this;}public ProgressDialog create() {LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);final ProgressDialog dialog = new ProgressDialog(context,R.style.Dialog);dialog.setCanceledOnTouchOutside(false);View layout = inflater.inflate(R.layout.progressdialog, null);dialog.addContentView(layout, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));dialog.setOnDismissListener(new OnDismissListener() {@Overridepublic void onDismiss(DialogInterface dialog) {FrameMainActivity.proBool = true;}});Handler handler = new Handler() {@Overridepublic void handleMessage(Message msg) {switch (msg.what) {case MEMBERCARDTHREAD:if (bar == null)FrameMainActivity.proBool = true;bar.incrementProgressBy(20);break;case BILLTHREAD:bar.incrementProgressBy(20);break;case ORDERBASETHREAD:bar.incrementProgressBy(10);break;case INVOICETHREAD:bar.incrementProgressBy(30);break;case UPLOADFINISH:bar.incrementProgressBy(20);if (dialog.isShowing())dialog.dismiss();FrameMainActivity.proBool = true;break;case REQUESTFAIL:if (dialog.isShowing()) {Toast.makeText(context, "数据更新失败,请检查网络!",Toast.LENGTH_SHORT).show();dialog.dismiss();}FrameMainActivity.proBool = true;break;}super.handleMessage(msg);}};if (message != null) {((TextView) layout.findViewById(R.id.progressdialog_txt)).setText(message);animation = AnimationUtils.loadAnimation(context,R.anim.progress_alpha);bar = ((ProgressBar) layout.findViewById(R.id.progressdialog_pro));bar.setAnimation(animation);dataThread(handler);}if (contentView != null) {((LinearLayout) layout.findViewById(R.id.content)).removeAllViews();((LinearLayout) layout.findViewById(R.id.content)).addView(contentView,new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));}dialog.setContentView(layout);return dialog;}}public static void dataThread(final Handler handler) {Runnable runnable = new Runnable() {@Overridepublic void run() {Log.d("info", "dataThread启动");Datasync datasync = null;SharepreferenceData sharepreferenceData = SharepreferenceData.getInstance(GabelApplication.getInstance());int i = 0;while (!FrameMainActivity.proBool) {try {Thread.sleep(1000);i++;if (i == 15) {handler.sendEmptyMessage(0);break;}} catch (InterruptedException e) {e.printStackTrace();}if (!sharepreferenceData.getServiceStat()) {continue;}if (!FrameMainActivity.proBool) {datasync = new MemberCardImpl();datasync.handlerData();handler.sendEmptyMessage(20);}if (!FrameMainActivity.proBool) {datasync = new BillPayImpl();datasync.handlerData();handler.sendEmptyMessage(40);}if (!FrameMainActivity.proBool) {datasync = new OrderBasicInfoImpl();datasync.handlerData();handler.sendEmptyMessage(80);}if (!FrameMainActivity.proBool) {datasync = new BillInvoiceLogImpl();datasync.handlerData();handler.sendEmptyMessage(100);}break;}};};new Thread(runnable).start();}}
javaDemo2:

package com.demo.dialog;import android.content.Context;public class ProgressDialogHelper {public static ProgressDialog createDialog(Context context, String msg) {ProgressDialog.Builder dialogBuilder = new ProgressDialog.Builder(context);// dialogBuilder.setHandler(handler);dialogBuilder.setMessage(msg);return dialogBuilder.create();}}


第五种:URLDialog的建立:

Javademo1:

package com.demo.dialog;import android.app.Dialog;import android.content.Context;import android.content.DialogInterface;import android.view.LayoutInflater;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.LinearLayout;import android.widget.LinearLayout.LayoutParams;/** * Create custom Dialog windows for your application Custom dialogs rely on * custom layouts wich allow you to create and use your own look & feel. **/public class SetURLDialog extends Dialog {public SetURLDialog(Context context, int theme) {super(context, theme);}public SetURLDialog(Context context) {super(context);}/** * Helper class for creating a custom dialog */public static class Builder {private EditText editText;private Context context;private String message;private String positiveButtonText;private String negativeButtonText;private View contentView;private DialogInterface.OnClickListenerpositiveButtonClickListener,negativeButtonClickListener;public Builder(Context context) {this.context = context;}public Builder setMessage(String message) {this.message = message;return this;}public Builder setMessage(int message) {this.message = (String) context.getText(message);return this;}public Builder setContentView(View v) {this.contentView = v;return this;}public Builder setPositiveButton(int positiveButtonText,DialogInterface.OnClickListener listener) {this.positiveButtonText = (String) context.getText(positiveButtonText);this.positiveButtonClickListener = listener;return this;}public Builder setPositiveButton(String positiveButtonText,DialogInterface.OnClickListener listener) {this.positiveButtonText = positiveButtonText;this.positiveButtonClickListener = listener;return this;}public Builder setNegativeButton(int negativeButtonText,DialogInterface.OnClickListener listener) {this.negativeButtonText = (String) context.getText(negativeButtonText);this.negativeButtonClickListener = listener;return this;}public Builder setNegativeButton(String negativeButtonText,DialogInterface.OnClickListener listener) {this.negativeButtonText = negativeButtonText;this.negativeButtonClickListener = listener;return this;}public String getEditText() {return editText.getText() + "";}/** *  * Create the custom dialog */public SetURLDialog create() {LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);// instantiate the dialog with the custom Themefinal SetURLDialog dialog = new SetURLDialog(context,R.style.Dialog);View layout = inflater.inflate(R.layout.set_serviceurl_dialog_layout, null);dialog.addContentView(layout, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));// set the confirm buttonif (positiveButtonText != null) {((Button) layout.findViewById(R.id.set_serviceurl_positiveButton)).setText(positiveButtonText);if (positiveButtonClickListener != null) {((Button) layout.findViewById(R.id.set_serviceurl_positiveButton)).setOnClickListener(new View.OnClickListener() {public void onClick(View v) {positiveButtonClickListener.onClick(dialog,DialogInterface.BUTTON_POSITIVE);}});}} else {// if no confirm button just set the visibility to GONElayout.findViewById(R.id.set_serviceurl_positiveButton).setVisibility(View.GONE);}// set the cancel buttonif (negativeButtonText != null) {((Button) layout.findViewById(R.id.set_serviceurl_negativeButton)).setText(negativeButtonText);if (negativeButtonClickListener != null) {((Button) layout.findViewById(R.id.set_serviceurl_negativeButton)).setOnClickListener(new View.OnClickListener() {public void onClick(View v) {negativeButtonClickListener.onClick(dialog,DialogInterface.BUTTON_NEGATIVE);}});}} else {// if no confirm button just set the visibility to GONElayout.findViewById(R.id.set_serviceurl_negativeButton).setVisibility(View.GONE);}// set the content messageif (message != null) {editText = ((EditText) layout.findViewById(R.id.set_serviceurl_edit));editText.setText(message);} else if (contentView != null) {// if no message set// add the contentView to the dialog body((LinearLayout) layout.findViewById(R.id.content)).removeAllViews();((LinearLayout) layout.findViewById(R.id.content)).addView(contentView,new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));}dialog.setContentView(layout);return dialog;}}}

javaDemo2:

package com.demo.dialog;import android.content.Context;import android.content.DialogInterface;import android.widget.Toast;/*自定义Dialog方法*/public class SetURLDialogHelper {public static SetURLDialog createDialog(final Context context, String msg) {final SetURLDialog.Builder dialogBuilder = new SetURLDialog.Builder(context);dialogBuilder.setMessage(msg);dialogBuilder.setNegativeButton("取消",new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) {Toast.makeText(context, "取消保存", Toast.LENGTH_SHORT).show();dialog.dismiss();}});dialogBuilder.setPositiveButton("确定",new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) {SharepreferenceData.getInstance(context).setServiceURL(dialogBuilder.getEditText());Toast.makeText(context, "保存成功", Toast.LENGTH_SHORT).show();dialog.dismiss();}});return dialogBuilder.create();}}



更多相关文章

  1. Android将Uri转化为文件路径的方法
  2. Android手机开发:SQLite数据库
  3. Android NDK之----- C调用Java [GetMethodID方法的使用]
  4. 一些常用SD卡操作的方法,APk管理之类的方法
  5. android 文件保存方法 sd卡中或系统
  6. 【Android】Zip文件解压方法
  7. Android显示GIF动画的几种方法
  8. Android乐动力V5.75最新获Key方法,提交步数,QQ登陆获取key案例
  9. android保存数据到xml以及pull解析模板

随机推荐

  1. Android对APK文件的安装和卸载
  2. Android 自定义progressBar样式
  3. Android自用-----Intent Action 大全
  4. 桌面花园(MQTT—NodeMCU—Android实践)
  5. Android -- View流程
  6. Android录屏命令screenrecord命令的使用
  7. Gradle配置文件详解
  8. 【Android】自定义环形菜单View
  9. Android系统源码framework SystemUI导入e
  10. 学习_网站链接