Dialog 带白色的边的处理方法 | 码农家园
代码种设置 使用 setBackgroundDrawableResource
dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);//设置背景透明
下面写的一个半自定义的弹框,(这个主要是写了了插入布局,没有通用自己就不叫它自定义了)
AlertDialog.Builder builder = new AlertDialog.Builder(mActivity);
builder.setCancelable(false);
View cinema_view = getLayoutInflater().inflate(R.layout.cinema_fragment_pop, null);
builder.setView(cinema_view);
cinemaDialog = builder.create();
cinemaDialog.show();
Window window = cinemaDialog.getWindow();
if (window != null) {
WindowManager.LayoutParams lp = window.getAttributes();
window.setBackgroundDrawableResource(android.R.color.transparent);//设置背景透明
lp.gravity = Gravity.CENTER;
lp.width = mActivity.getResources().getDimensionPixelOffset(R.dimen.dp_1060);//宽高设置具体大小
lp.height = mActivity.getResources().getDimensionPixelOffset(R.dimen.dp_630);
cinemaDialog.getWindow().setAttributes(lp);
}
也可以通过设置属性来取消,看代码
<!-- 通用dialog -->
<style name="transparent_dialog" parent="android:style/Theme.Dialog">
<!-- 有无边框 -->
<item name="android:windowFrame">@null</item>
<!-- 是否浮现在activity之上 -->
<item name="android:windowIsFloating">true</item>
<!-- 是否透明 -->
<item name="android:windowIsTranslucent">true</item>
<!-- 背景透明 -->
<item name="android:windowBackground">@android:color/transparent</item>
<!-- 模糊 -->
<item name="android:backgroundDimEnabled">true</item>
<!--无标题 -->
<item name="android:windowNoTitle">true</item>
</style>