• 大小: 1.36M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2020-12-24
  • 语言: Java
  • 标签: 对话框  

资源简介

package com.zf.iosdialog.widget;

import android.app.Dialog;
import android.content.Context;
import android.view.Display;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.TextView;

import com.zf.iosdialog.R;

public class AlertDialog {
private Context context;
private Dialog dialog;
private LinearLayout lLayout_bg;
private TextView txt_title;
private TextView txt_msg;
private Button btn_neg;
private Button btn_pos;
private ImageView img_line;
private Display display;
private boolean showTitle = false;
private boolean showMsg = false;
private boolean showPosBtn = false;
private boolean showNegBtn = false;

public AlertDialog(Context context) {
this.context = context;
WindowManager windowManager = (WindowManager) context
.getSystemService(Context.WINDOW_SERVICE);
display = windowManager.getDefaultDisplay();
}

public AlertDialog builder() {
// 获取Dialog布局
View view = LayoutInflater.from(context).inflate(
R.layout.view_alertdialog, null);

// 获取自定义Dialog布局中的控件
lLayout_bg = (LinearLayout) view.findViewById(R.id.lLayout_bg);
txt_title = (TextView) view.findViewById(R.id.txt_title);
txt_title.setVisibility(View.GONE);
txt_msg = (TextView) view.findViewById(R.id.txt_msg);
txt_msg.setVisibility(View.GONE);
btn_neg = (Button) view.findViewById(R.id.btn_neg);
btn_neg.setVisibility(View.GONE);
btn_pos = (Button) view.findViewById(R.id.btn_pos);
btn_pos.setVisibility(View.GONE);
img_line = (ImageView) view.findViewById(R.id.img_line);
img_line.setVisibility(View.GONE);

// 定义Dialog布局和参数
dialog = new Dialog(context, R.style.AlertDialogStyle);
dialog.setContentView(view);

// 调整dialog背景大小
lLayout_bg.setLayoutParams(new FrameLayout.LayoutParams((int) (display
.getWidth() * 0.85), LayoutParams.WRAP_CONTENT));

return this;
}

public AlertDialog setTitle(String title) {
showTitle = true;
if ("".equals(title)) {
txt_title.setText("标题");
} else {
txt_title.setText(title);
}
return this;
}

public AlertDialog setMsg(String msg) {
showMsg = true;
if ("".equals(msg)) {
txt_msg.setText("内容");
} else {
txt_msg.setText(msg);
}
return this;
}

public AlertDialog setCancelable(boolean cancel) {
dialog.setCancelable(cancel);
return this;
}

public AlertDialog setPositiveButton(String text,
final OnClickListener listener) {
showPosBtn = true;
if ("".equals(text)) {
btn_pos.setText("确定");
} else {
btn_pos.setText(text);
}
btn_pos.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
listener.onClick(v);
dialog.dismiss();
}
});
return this;
}

public AlertDialog setNegativeButton(String text,
final OnClickListener listener) {
showNegBtn = true;
if ("".equals(text)) {
btn_neg.setText("取消");
} else {
btn_neg.setText(text);
}
btn_neg.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
listener.onClick(v);
dialog.dismiss();
}
});
return this;
}

private void setLayout() {
if (!showTitle && !showMsg) {
txt_title.setText("提示");
txt_title.setVisibility(View.VISIBLE);
}

if (showTitle) {
txt_title.setVisibility(View.VISIBLE);
}

if (showMsg) {
txt_msg.setVisibility(View.VISIBLE);
}

if (!showPosBtn && !showNegBtn) {
btn_pos.setText("确定");
btn_pos.setVisibility(View.VISIBLE);
btn_pos.setBackgroundResource(R.drawable.alertdialog_single_selector);
btn_pos.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
}

if (showPosBtn && showNegBtn) {
btn_pos.setVisibility(View.VISIBLE);
btn_pos.setBackgroundResource(R.drawable.alertdialog_right_selector);
btn_neg.setVisibility(View.VISIBLE);
btn_neg.setBackgroundResource(R.drawable.alertdialog_left_selector);
img_line.setVisibility(View.VISIBLE);
}

if (showPosBtn && !showNegBtn) {
btn_pos.setVisibility(View.VISIBLE);
btn_pos.setBackgroundResource(R.drawable.alertdialog_single_selector);
}

if (!showPosBtn && showNegBtn) {
btn_neg.setVisibility(View.VISIBLE);
btn_neg.setBackgroundResource(R.drawable.alertdialog_single_selector);
}
}

public void show() {
setLayout();
dialog.show();
}
}

资源截图

代码片段和文件信息

/** Automatically generated file. DO NOT MODIFY */
package com.zf.iosdialog;

public final class BuildConfig {
    public final static boolean DEBUG = true;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        475  2014-08-19 16:11  IOSDialog\.classpath

     文件        862  2014-08-21 16:34  IOSDialog\.project

     文件        871  2014-08-22 14:49  IOSDialog\AndroidManifest.xml

     文件        871  2014-08-22 14:49  IOSDialog\bin\AndroidManifest.xml

     文件        341  2014-08-22 14:46  IOSDialog\bin\classes\com\zf\iosdialog\BuildConfig.class

     文件        782  2014-08-22 15:35  IOSDialog\bin\classes\com\zf\iosdialog\MainActivity$1.class

     文件       1135  2014-08-22 15:35  IOSDialog\bin\classes\com\zf\iosdialog\MainActivity$10.class

     文件       1135  2014-08-22 15:35  IOSDialog\bin\classes\com\zf\iosdialog\MainActivity$11.class

     文件       1135  2014-08-22 15:35  IOSDialog\bin\classes\com\zf\iosdialog\MainActivity$12.class

     文件       1135  2014-08-22 15:35  IOSDialog\bin\classes\com\zf\iosdialog\MainActivity$13.class

     文件       1135  2014-08-22 15:35  IOSDialog\bin\classes\com\zf\iosdialog\MainActivity$14.class

     文件       1135  2014-08-22 15:35  IOSDialog\bin\classes\com\zf\iosdialog\MainActivity$15.class

     文件       1135  2014-08-22 15:35  IOSDialog\bin\classes\com\zf\iosdialog\MainActivity$16.class

     文件       1135  2014-08-22 15:35  IOSDialog\bin\classes\com\zf\iosdialog\MainActivity$17.class

     文件        725  2014-08-22 15:35  IOSDialog\bin\classes\com\zf\iosdialog\MainActivity$18.class

     文件        725  2014-08-22 15:35  IOSDialog\bin\classes\com\zf\iosdialog\MainActivity$19.class

     文件        782  2014-08-22 15:35  IOSDialog\bin\classes\com\zf\iosdialog\MainActivity$2.class

     文件        725  2014-08-22 15:35  IOSDialog\bin\classes\com\zf\iosdialog\MainActivity$20.class

     文件        782  2014-08-22 15:35  IOSDialog\bin\classes\com\zf\iosdialog\MainActivity$3.class

     文件        782  2014-08-22 15:35  IOSDialog\bin\classes\com\zf\iosdialog\MainActivity$4.class

     文件        782  2014-08-22 15:35  IOSDialog\bin\classes\com\zf\iosdialog\MainActivity$5.class

     文件        782  2014-08-22 15:35  IOSDialog\bin\classes\com\zf\iosdialog\MainActivity$6.class

     文件        782  2014-08-22 15:35  IOSDialog\bin\classes\com\zf\iosdialog\MainActivity$7.class

     文件       1133  2014-08-22 15:35  IOSDialog\bin\classes\com\zf\iosdialog\MainActivity$8.class

     文件       1133  2014-08-22 15:35  IOSDialog\bin\classes\com\zf\iosdialog\MainActivity$9.class

     文件       5149  2014-08-22 15:35  IOSDialog\bin\classes\com\zf\iosdialog\MainActivity.class

     文件        445  2014-08-22 14:49  IOSDialog\bin\classes\com\zf\iosdialog\R$anim.class

     文件        334  2014-08-22 14:49  IOSDialog\bin\classes\com\zf\iosdialog\R$attr.class

     文件        574  2014-08-22 14:49  IOSDialog\bin\classes\com\zf\iosdialog\R$color.class

     文件        455  2014-08-22 14:49  IOSDialog\bin\classes\com\zf\iosdialog\R$dimen.class

............此处省略111个文件信息

评论

共有 条评论