如何从AlertDialog构建器中删除黑色边框

时间:2011-11-19 10:28:44

标签: android

实际上我已经使用AlertDialog.builder创建了一个自定义对话框。在这个对话框中我没有显示titile.All工作正常但是对话框中出现黑色边框。所以有人能告诉我如何删除这个黑色boder。代码和截图如下。

java中的代码:

        AlertDialog.Builder start_dialog = new AlertDialog.Builder(this);

        Context mContext = getApplicationContext();
        LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(LAYOUT_INFLATER_SERVICE);
        View layout = inflater.inflate(R.layout.custom_dialog2,
                                       (ViewGroup) findViewById(R.id.layout_root));

        layout.setBackgroundResource(R.drawable.img_layover_welcome_bg);

        Button btnPositiveError = (Button)layout.findViewById(R.id.btn_error_positive);   
        btnPositiveError.setTypeface(m_facedesc);

        start_dialog.setView(layout);

        final AlertDialog alert = start_dialog.create();
        alert.show();

        btnPositiveError.setOnClickListener(new Button.OnClickListener()
        {
            public void onClick(View v) 
            {
                alert.dismiss();
            }
        });

ScrrenShot

enter image description here

5 个答案:

答案 0 :(得分:6)

Without creating a custom background drawable and adding a special style just add

代码的一行:

dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);

有关Dialogs的更多信息:

Dilaogs

答案 1 :(得分:2)

更改此行代码

AlertDialog.Builder start_dialog = new AlertDialog.Builder(this);

AlertDialog.Builder start_dialog = new AlertDialog.Builder(this).setInverseBackgroundForced(true);

你将全部设定

答案 2 :(得分:0)

使用Dialog类而不是AlertDialog

for eg - Dialog d = new Dialog(context, android.R.style.Theme_Translucent);

使用setContentView而不是setView。

并将其主题设置为透明。

答案 3 :(得分:0)

  

只需插入

Dialog start_dialog = new Dialog(this);
  

而不是

AlertDialog.Builder start_dialog = new AlertDialog.Builder(this);

答案 4 :(得分:0)

我也有这个问题。最好使用Dialog代替AlertDialog。 这是我的解决方案:

Dialog dialog = new Dialog(getActivity(), R.style.Dialog_No_Border);
dialog.setContentView(R.layout.some_dialog);

some_dialog.xml的内容

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="250dp"
        android:layout_height="350dp"
        android:orientation="vertical"
        android:background="@drawable/some_dialog_background">

        <TextView
           ...
       />

        <Button
           ...
       />

    </LinearLayout>

<强> styles.xml

<style name="Dialog_No_Border" parent="@android:style/Theme.Dialog">
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowBackground">@color/transparent_color</item>
</style>

所以,最后我的自定义对话框背景没有边框。