Android 自定义dialog,制作圆角,背景直角问题

问题:在自定义dialog弹窗时,为了美观设计带圆角背景,但是圆角边框的同时会出现白色直角部分,如果设置的是白色底,会出现一种设置圆角无效的假象。

图:

Android 自定义dialog,制作圆角,背景直角问题_第1张图片Android 自定义dialog,制作圆角,背景直角问题_第2张图片Android 自定义dialog,制作圆角,背景直角问题_第3张图片

图一,要达到的效果,图二,突出白色直角部分,图三,设置圆角无效的现象。

代码:

public class ExChangeCouponDialog extends Dialog implements View.OnClickListener {

    private Handler handler;

    public ExChangeCouponDialog(Context context, Handler handler) {
        super(context);
        View view = View.inflate(context, R.layout.exchange_coupon_dialog_layout, null);
        this.setContentView(view);
        this.setCanceledOnTouchOutside(false);// 设置点击屏幕Dialog不消失
//        Window window=this.getWindow();
//        window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
        this.handler = handler;
        TextView tv_exchange = (TextView) view.findViewById(R.id.tv_exchange);
        TextView tv_back = (TextView) view.findViewById(R.id.tv_back);

        tv_exchange.setOnClickListener(this);
        tv_back.setOnClickListener(this);

    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.tv_exchange:
                handler.sendEmptyMessage(200);
                break;
            case R.id.tv_back:
                handler.sendEmptyMessage(201);
                break;
        }
    }
}

注释的两行代码,就是将弹窗的背景设置为透明色(#00000000),解决直角问题。

设置圆角 的xml:



    
    

 

你可能感兴趣的:(Android 自定义dialog,制作圆角,背景直角问题)