import android.app.Dialog;
import android.content.Context;
import android.view.Gravity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;
import com.managerlee.service.R;
/**
* 项目名称:ServiceLee
* 类描述:
* 创建人:TerryZhang
* 创建时间:2017/2/15 11:06
* 修改人:TerryZhang
* 修改时间:2017/2/15 11:06
* 修改备注:
*/
public class ConfirmDialogForPhone extends Dialog {
public ConfirmDialogForPhone(Context context) {
super(context, R.style.MyDialog);
}
@Override
public void onStart() {
super.onStart();
//HIDE_NAVIGATION
Window window = this.getWindow();
window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE
| View.SYSTEM_UI_FLAG_FULLSCREEN;
window.getDecorView().setSystemUiVisibility(uiOptions);
}
public static class Builder {
private Context context;
private String title;
private String content;
private OnClickListener draftButtonListener;
private OnClickListener confirmButtonListener;
public Builder(Context context) {
this.context = context;
}
public Builder setTitle(String title) {
this.title = title;
return this;
}
public Builder setContent(String content) {
this.content = content;
return this;
}
public Builder setConfirmButtonListener(OnClickListener confirmButtonListener) {
this.confirmButtonListener = confirmButtonListener;
return this;
}
public Builder setDraftButtonListener(OnClickListener draftButtonListener) {
this.draftButtonListener = draftButtonListener;
return this;
}
public ConfirmDialogForPhone create() {
final ConfirmDialogForPhone dialog = new ConfirmDialogForPhone(context);
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Window win = dialog.getWindow();
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
WindowManager.LayoutParams lp = win.getAttributes();
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
lp.gravity = Gravity.CENTER;
win.setAttributes(lp);
dialog.setCanceledOnTouchOutside(true);
dialog.setContentView(R.layout.dialog_confirm_phone);
((TextView) dialog.findViewById(R.id.tv_content)).setText(content);
((TextView) dialog.findViewById(R.id.tv_title)).setText(title);
if (draftButtonListener != null)
dialog.findViewById(R.id.btn_draft).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
draftButtonListener.onClick(dialog, -1);
}
});
if (confirmButtonListener != null)
dialog.findViewById(R.id.btn_confirm).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
confirmButtonListener.onClick(dialog, -1);
}
});
return dialog;
}
}
}
建造者模式dialog
最新推荐文章于 2018-12-11 13:08:56 发布