先给样式:
<style name="dialog" parent="@android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item> <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.6</item> </style>
其次:
public class WenQuanDialog extends Dialog { Context mContext; Button btn_cancel, btn_confirm; TextView tv_title,tv_message; public WenQuanDialog(@NonNull Context context) { super(context); this.mContext = context; Window window = getWindow(); WindowManager.LayoutParams params = window.getAttributes(); params.gravity = Gravity.CENTER; window.setAttributes(params); } public WenQuanDialog(@NonNull Context context, int themeResId) { super(context, themeResId); this.mContext = context; Window window = getWindow(); WindowManager.LayoutParams params = window.getAttributes(); params.gravity = Gravity.CENTER; window.setAttributes(params); } protected WenQuanDialog(@NonNull Context context, boolean cancelable, @Nullable OnCancelListener cancelListener) { super(context, cancelable, cancelListener); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.wenquanlayout); btn_cancel = findViewById(R.id.btn_cancel); btn_confirm = findViewById(R.id.btn_confirm); tv_title = findViewById(R.id.tv_title); tv_message = findViewById(R.id.tv_message); tv_title.setText("提示"); tv_message.setText("这是一条提示消息"); btn_cancel.setText("取消"); btn_confirm.setText("去填写"); btn_cancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dismiss(); } }); } }
最后:
WenQuanDialog wenQuanDialog=new WenQuanDialog(Main2Activity.this,R.style.dialog); wenQuanDialog.show();
单纯记录复一下,最近搬砖有点多,方便下次搬。