首先:自定义一个自己想要的主题
如: <style name="Theme.FloatActivity" parent="android:style/Theme.Dialog">
<item name="android:windowBackground">@drawable/download_vision_background</item>
</style>
然后:manifest.xml文件注册引用
如:android:theme="@style/Theme.FloatActivity"
所建的shape文件位于drawable文件下download_vision_background.xml
如:<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners android:radius="10dip" />
<solid android:color="#ED4D4D" />
<padding
android:bottom="10dp"
android:left="10dp"
android:right="10dp"
android:top="10dp" />
</shape>
布局文件使用:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:background="@drawable/download_vision_background" >
<RelativeLayout
android:id="@+id/rl_loo"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="版本更新下载中..."
android:textColor="#000000"
android:textSize="15sp" />
</RelativeLayout>
<ProgressBar
android:id="@+id/alert_bar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="15dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/rl_loo"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="8dp" />
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/alert_bar" >
<TextView
android:id="@+id/alert_progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="15dp"
android:layout_marginTop="15dp"
android:text="0%"
android:textColor="#000000" />
</RelativeLayout>
</RelativeLayout>
代码设置其所占屏幕的宽度
setTitleColor(Color.BLACK);
setFinishOnTouchOutside(false);//屏幕以外不可点击
Window window = ProgressDialogActivity.this.getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
Display d = window.getWindowManager().getDefaultDisplay();
DisplayMetrics outMetrics = new DisplayMetrics();
d.getMetrics(outMetrics);
lp.width = (int) (outMetrics.widthPixels * 0.80);
this.getWindow().setAttributes(lp);