ErrorDialog.java
/**
* Created by zhaochengfang on 2020/11/13
*/
public class ErrorDialog extends Dialog {
private Context context;
public ErrorDialog(Context context, View layout,int style){
super(context,style);
this.context = context;
setContentView(layout);
Window window = getWindow();
WindowManager.LayoutParams params = window.getAttributes();
params.gravity = Gravity.CENTER;
window.setAttributes(params);
}
}
调用的地方:
View view = getLayoutInflater().inflate(R.layout.error_dialog, null);
ErrorDialog dialog = new ErrorDialog(requireActivity(),view,R.style.DialogTheme);
dialog.setCancelable(false);
dialog.show();
因为我这个是在Fragment里边调的,所以这里我的第一个参数是 requireActivity(),其实这里应该是context的。
然后Dialog的样式:
<!-- Dialog样式-->
<style name="DialogTheme" 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:windowNoTitle">true</item>
<item name="android:background">@android:color/transparent</item>
<!-- 背景透明 -->
<item name="android:windowBackground">@android:color/transparent</item>
<!-- 模糊 -->
<item name="android:backgroundDimEnabled">true</item>
<!-- 遮罩层 -->
<item name="android:backgroundDimAmount">0.5</item>
</style>
在styles文件中加入这段。