2

对于我的大多数 Android 应用程序的对话框,我使用 Builder 的内置方法,例如 setSingleChoiceItems,但我需要 2-3 个对话框,它们是使用我自己的视图的自定义 AlertDialogs。

自定义对话框看起来与现成的(文本大小、背景等)非常不同。

如何使我的自定义对话框看起来像 Builder 的?我没有为任何对话框指定任何主题。

我使用带有 setSingleChoiceItems(...) 方法的 AlertDialog.Builder 创建了这个。

使用 AlertDialog.Builder 创建

这个是使用 builder.setView(layout) 创建的。

使用视图创建

4

2 回答 2

0

试试这个

在对话框中设置自定义主题以设置背景并且没有对话框标题,如下所示

<style name="ActivityDialog" parent="@android:style/Theme.Dialog">      
    <item name="android:windowBackground">@drawable/dialog_background_image</item>
    <item name="android:windowNoTitle">true</item>      
    </style>

并制作 UI 布局

protected void createDialog() {
         // TODO Auto-generated method stub

             dialog = new Dialog(this,R.style.ActivityDialog);//this take context and style parameter

             dialog.setContentView(R.layout.dialogUI); // here load coustom UI layout 



             Button okbtn = (Button)dialog.findViewById(R.id.button1);
             Button cancelbtn = (Button)dialog.findViewById(R.id.rep_cancel_Button);
             okbtn .setOnClickListener(okClickListener);
             cancelbtn .setOnClickListener(cancelClickListener);

             dialog.show();

        }  
于 2012-06-06T16:05:45.717 回答
0

您可以将自定义视图与setView一起使用,但我建议使用 DialogFragment,在 DialogFragment 中您可以使用任何View并且只使用 View 事件处理程序,例如 onClickListener 等。

于 2012-06-06T15:48:27.333 回答