问题:一般在使用弹窗的时候,为了美观都会设计成圆角边框,但是圆角边框的同时会出现白色直角部分。
下面是一个AlertDialog ,特别注意红色的部分,加上红色的这两行,就是将弹窗的背景设置为透明色(#00000000)
AlertDialog dialog; private void showConfirm() { AlertDialog.Builder builder=new AlertDialog.Builder(context); View view=LayoutInflater.from(context).inflate(R.layout.dialog_pay_confirm,null); TextView confirm= (TextView) view.findViewById(R.id.tv_pay_confirm); builder.setView(view); dialog = builder.create(); Window window=dialog.getWindow(); window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); confirm.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { dialog.dismiss(); } }); dialog.show(); }
设置圆角的xml
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="15dp"/> <stroke android:width="2dp" android:color="@color/colorPrimary" /> <!-- 填充颜色 --> <solid android:color="#ffffffff" /> </shape>