一、xml实现方式

 

  <style name="circular_dialog" parent="@android:style/Theme.Dialog">
        <item name="android:windowFrame">@null</item><!-- 有无边框 -->
        <item name="android:windowIsFloating">true</item><!-- 是否悬浮在activity上 -->
        <item name="android:windowIsTranslucent">false</item><!-- 是否半透明 -->
        <item name="android:windowNoTitle">true</item><!-- 设置有无标题 -->
        <item name="android:windowBackground">@android:color/transparent</item><!-- 设置背景背景透明 -->
        <item name="android:backgroundDimEnabled">false</item><!-- 设置背景是否模糊显示 -->
        <item name="android:backgroundDimAmount">0.6</item><!-- 灰度 -->
        <item name="android:windowContentOverlay">@null</item><!-- 对话框是否有遮盖 -->
        <item name="android:windowAnimationStyle">@style/dialog_animation</item><!-- 弹出或者进入时的动画效果 -->
        <item name="android:colorBackgroundCacheHint">@null</item><!-- 背景缓存颜色 -->
        <item name="android:background">@android:color/transparent</item>   <!-- 系统透明??? -->
</style>


运用

dialog = new Dialog(context, R.style.circular_dialog);
dialog.setContentView(R.layout.progress_dialog);

 

 

二、用代码实现

      

    dialog = new Dialog(context);
    proBar = new ProgressBar(context,null,android.R.attr.progressBarStyleLarge);
    layout = new LinearLayout(context);
    layout.addView(proBar,new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.getWindow().setBackgroundDrawableResource(R.color.transparent);
    dialog.setContentView(layout);