2012-06-06 51 views
1

对于大多数我的Android应用程序的对话框我用生成器内置的方法,如setSingleChoiceItems,但我需要2-3对话是用我自己的看法定制AlertDialogs。自定义对话框生成器对话框有不同的主题

自定义对话框目光从现成的那些(文字大小,背景等)有很大不同。

如何让我的自定义对话框看起来像生成器的对话框? 我没有为任何对话框指定任何主题。

我创建这一个使用与setSingleChoiceItems(...)方法的AlertDialog.Builder。

Created using AlertDialog.Builder

这一个使用builder.setView(布局)创建。

Created using a View

+0

的布局,你可以添加图片作为两者之间的区别是什么?您的活动主题可能与Builder正在使用的主题不同。 – Guykun

+0

你的问题有点含糊。通过“自定义AlertDialogs”,你的意思是你分类AlertDialog'? 'Builder'是'AlertDialog'的一个内部类,所以在这种情况下,你说出一些事情的方式很混乱。 –

+0

添加屏幕截图以及一些更多的解释,我希望这现在更有意义。 – Sleepster

回答

0

您可以使用自定义视图与的setView,但我建议使用DialogFragment,在DialogFragment你可以使用任何查看,只是查看事件处理程序像onClickListener等

+0

我使用的setView,但所用的主题是由Builder的setSingleChoiceItems(...) – Sleepster

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(); 

     } 
+0

由于所使用的不同,但我不希望有一个自定义主题,我想通过生成器内置的方法所使用的相同的主题。 – Sleepster