<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:background">@android:color/black</item>
<item name="android:windowBackground">@null</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
</resources>
View myView = ((Activity) context).getLayoutInflater().inflate(R.layout.dialog, null);
final Dialog myDialog = new Dialog(context, R.style.dialog);
myDialog.setContentView(myView);
myDialog.getWindow().setLayout(getWidthOfDialog(context), ViewGroup.LayoutParams.WRAP_CONTENT);
myDialog.show();
//获取Dialog的宽度
private static int getWidthOfDialog(Context context) {
if (mWidth > 0) {
return mWidth; // 已初始化,直接返回数值
}
// 设置Dialog的宽度,在不同机器上宽度不一致,所以在这里统一
DisplayMetrics dm = context.getResources().getDisplayMetrics();
int width = dm.widthPixels;
int padding = (int) (20 * dm.density);
mWidth = width - 2 * padding;
return mWidth;
}