如何在自定义AlertDialog中删除边框?

时间:2011-05-06 10:45:15

标签: android alertdialog

我正在尝试使用图片文字和按钮创建自定义AlertDialog。当我显示它时,我得到一个看起来很可怕的白色边框。

enter image description here

如何摆脱那个白色边框?

这是我的自定义对话框:

public LinearLayout customeLL;
    public void  alertD()
    {
        AlertDialog ad;
        AlertDialog.Builder  builder;
        Context mContext = getApplicationContext();
        TextView a = new TextView(getApplicationContext());
        a.setText("Test dialog");
        ImageView img = new ImageView(getApplicationContext());
        img.setBackgroundResource(R.drawable.bottombar_bg);
        LinearLayout customeLL = new LinearLayout(getApplicationContext());
        customeLL.setOrientation(LinearLayout.VERTICAL);
        customeLL.addView(img,curWidth,37);
        customeLL.addView(a,curWidth,37);
        builder = new AlertDialog.Builder(myClass.this);
        builder.setView(customeLL);
        ad=builder.create();
        ad.show();

    }

正如您所见,上边框和图像的空间为2-3 px。

3 个答案:

答案 0 :(得分:9)

尝试使用Dialog而不是AlertDialog.Builder

..用于从对话框中删除边框线。

Dialog dialog = new Dialog(this,android.R.style.Theme_Translucent_NoTitleBar);

答案 1 :(得分:2)

这将删除边框:

AlertDialog ad;
ad= new AlertDialog.Builder(context).create();
ad.show();
ad.setContentView(R.layout.dialog_layout); // set your custom layout

// Then initialize your dialog views like this
TextView txt= (TextView) ad.findViewById(R.id.dialog_text); // a TextView inside dialog 
                                                            // layout
txt.setText("I'm a custom dialog!");

另外,我在全屏模式下使用自定义Dialog时遇到问题。只要对话框没有被解除,我的手机通知栏就会一直显示。使用自定义的AlertDialog,这不是问题;)

答案 2 :(得分:0)

如果您希望对话框边框以任何颜色显示,您必须使用布局样式和主题。这里有一篇很好的文章:http://blog.androgames.net/10/custom-android-dialog/