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();
效果:
總結
以上是生活随笔為你收集整理的android alertdialog 背景透明,Android Alertdialog弹出框设置半透明背景的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 房价降价有什么影响
- 下一篇: Android关掉多个activity,