自定义dialog可以在res/values文件夹新建名为 dialogStyle.xml的resources样式文件

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="dialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">false</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@drawable/dia_bg</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
</resources>

这个样式文件的说明如下

parent="@android:style/Theme.Dialog" :在系统Dialog样式基础上,相当于继承系统样式

<item name="android:windowFrame">@null</item> :Dialog的windowFrame框为无

<item name="android:windowIsFloating">true</item>:是否浮现在activity之上

<item name="android:windowIsTranslucent">false</item>:是否半透明
<item name="android:windowNoTitle">true</item>:是否显示title
<item name="android:windowBackground">@drawable/dia_bg</item>:设置dialog的背景

<item name="android:backgroundDimEnabled">false</item>: 背景是否模糊显示

接下来写java代码把这个dialog显示出来,如下代码:

dialog = new Dialog(this,R.style.dialog);
		LayoutInflater li = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
		View v = li.inflate(R.layout.section_type_list, null, false); 
		sectionTypeListView = (ListView) v.findViewById(R.id.section_type_list);
		sectionTypeListView.setOnItemClickListener(this);
		new SectionTypeAsyncTask(this).execute();
		dialog.setContentView(v);
                dialog.show();
dialog 中可以添加listview,但是切记不要吧listview加到scrollview里,那样有可能会出现两个滚动条