100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > android alertdialog 背景透明 Android Alertdialog弹出框设置半透明背景

android alertdialog 背景透明 Android Alertdialog弹出框设置半透明背景

时间:2024-07-14 15:02:32

相关推荐

android alertdialog 背景透明 Android Alertdialog弹出框设置半透明背景

自定义AlertDialog基本步骤:

1.写一个layout布局,使用inflater生成对应view对象

2.新建AlertDialog.Builder对象builder

3.builder设置自定义布局view,从view中获取各控件,设置对应业务逻辑

4.builder.create()生成AlertDialog对象,dialog.show()显示弹窗

以上基础方法中,若想给view设置圆角、半透明背景,发现效果不正常:半透明背景显示无透明度,圆角显示外层有尖角轮廓

解决方式:

以上步骤中,自定义的layout布局可以不设置指定背景,等dialog生成后,show之前,给dialog设定半透明或圆角等

关键方法:dialog.getWindow().setBackGroundDrawableResource(背景资源文件);

View createView = inflater.inflate(R.layout.dialog_create_msg_layout, null);

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

builder.setView(createView);

final AlertDialog dialog = builder.create();

dialog.getWindow().setBackgroundDrawableResource(R.drawable.fg1_msgdialog_background);

// 取消、确定按钮textview

TextView tvCancel = (TextView) createView.findViewById(R.id.fg1_create_msg_dialog_tv_cancel);

TextView tvConfirm = (TextView) createView.findViewById(R.id.fg1_create_msg_dialog_tv_confirm);

final EditText etMsg = (EditText) createView.findViewById(R.id.fg1_create_msg_dialog_et);

tvCancel.setOnClickListener(listener);

tvConfirm.setOnClickListener(listener);

// 编辑留言-取消

tvCancel.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

dialog.dismiss();

}

});

// 编辑留言-发送

tvConfirm.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

String homeMessageStr = etMsg.getText().toString();

if (null == homeMessageStr || homeMessageStr.equals("")) {

toastUser("您还没有填写任何内容!");

return;

}

Params.deviceController.sendHomeMessage(homeMessageStr);

dialog.dismiss();

}

});

dialog.show();

效果:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。