android 自定义对话框.docx
- 文档编号:29258693
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:8
- 大小:15.50KB
android 自定义对话框.docx
《android 自定义对话框.docx》由会员分享,可在线阅读,更多相关《android 自定义对话框.docx(8页珍藏版)》请在冰豆网上搜索。
android自定义对话框
publicclassMyAlertDialog{
privateContextcontext;
privateDialogdialog;
privateLinearLayoutlLayout_bg;
privateTextViewtxt_title;
privateTextViewtxt_msg;
privateEditTextedittxt_result;
privateLinearLayoutdialog_Group;
privateImageViewdialog_marBottom;
privateButtonbtn_neg;
privateButtonbtn_pos;
privateImageViewimg_line;
privateDisplaydisplay;
privatebooleanshowTitle=false;
privatebooleanshowMsg=false;
privatebooleanshowEditText=false;
privatebooleanshowLayout=false;
privatebooleanshowPosBtn=false;
privatebooleanshowNegBtn=false;
publicMyAlertDialog(Contextcontext){
this.context=context;
WindowManagerwindowManager=(WindowManager)context
.getSystemService(Context.WINDOW_SERVICE);
display=windowManager.getDefaultDisplay();
}
publicMyAlertDialogbuilder(){
//��ȡDialog����
Viewview=LayoutInflater.from(context).inflate(
R.layout.toast_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);
edittxt_result=(EditText)view.findViewById(R.id.edittxt_result);
edittxt_result.setVisibility(View.GONE);
dialog_Group=(LinearLayout)view.findViewById(R.id.dialog_Group);
dialog_Group.setVisibility(View.GONE);
dialog_marBottom=(ImageView)view.findViewById(R.id.dialog_marBottom);
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=newDialog(context,R.style.AlertDialogStyle);
dialog.setContentView(view);
//����dialog������С
lLayout_bg.setLayoutParams(newFrameLayout.LayoutParams((int)(display
.getWidth()*0.85),LayoutParams.WRAP_CONTENT));
returnthis;
}
publicMyAlertDialogsetTitle(Stringtitle){
showTitle=true;
if("".equals(title)){
txt_title.setText("暂无标题");
}else{
txt_title.setText(title);
}
returnthis;
}
publicMyAlertDialogsetEditText(Stringmsg){
showEditText=true;
if("".equals(msg)){
edittxt_result.setHint("暂无内容提示");
}else{
edittxt_result.setText(msg);
}
returnthis;
}
publicStringgetResult(){
returnedittxt_result.getText().toString();
}
publicMyAlertDialogsetMsg(Stringmsg){
showMsg=true;
if("".equals(msg)){
txt_msg.setText("暂无内容提示");
}else{
txt_msg.setText(msg);
}
returnthis;
}
publicMyAlertDialogsetView(Viewview){
showLayout=true;
if(view==null){
showLayout=false;
}else
dialog_Group.addView(view,
android.view.ViewGroup.LayoutParams.MATCH_PARENT,
android.view.ViewGroup.LayoutParams.MATCH_PARENT);
returnthis;
}
publicMyAlertDialogsetCancelable(booleancancel){
dialog.setCancelable(cancel);
returnthis;
}
publicMyAlertDialogsetPositiveButton(Stringtext,
finalOnClickListenerlistener){
showPosBtn=true;
if("".equals(text)){
btn_pos.setText("取消");
}else{
btn_pos.setText(text);
}
btn_pos.setOnClickListener(newOnClickListener(){
@Override
publicvoidonClick(Viewv){
listener.onClick(v);
dialog.dismiss();
}
});
returnthis;
}
publicMyAlertDialogsetNegativeButton(Stringtext,
finalOnClickListenerlistener){
showNegBtn=true;
if("".equals(text)){
btn_neg.setText("确定");
}else{
btn_neg.setText(text);
}
btn_neg.setOnClickListener(newOnClickListener(){
@Override
publicvoidonClick(Viewv){
listener.onClick(v);
dialog.dismiss();
}
});
returnthis;
}
privatevoidsetLayout(){
if(!
showTitle&&!
showMsg){
txt_title.setText("通知");
txt_title.setVisibility(View.VISIBLE);
}
if(showTitle){
txt_title.setVisibility(View.VISIBLE);
}
if(showEditText){
edittxt_result.setVisibility(View.VISIBLE);
}
if(showMsg){
txt_msg.setVisibility(View.VISIBLE);
}
if(showLayout){
dialog_Group.setVisibility(View.VISIBLE);
dialog_marBottom.setVisibility(View.GONE);
}
if(!
showPosBtn&&!
showNegBtn){
btn_pos.setText("取消");
btn_pos.setVisibility(View.VISIBLE);
btn_pos.setBackgroundResource(R.drawable.alertdialog_single_selector);
btn_pos.setOnClickListener(newOnClickListener(){
@Override
publicvoidonClick(Viewv){
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);
}
}
publicvoidshow(){
setLayout();
dialog.show();
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- android 自定义对话框 自定义 对话框