实现背景透明,不模糊,Toast类型的Dialog

最近开发遇到了一个比较有意思的弹窗,先上效果图。

实现背景透明,不模糊,Toast类型的Dialog_第1张图片

 一看效果图,可能很多人想到了Toast把,因为系统的Toast可以实现自定义view,但是却不能和用户产生交互,后面想到了用SnackBar,但是效果却不是很理想。最终还是选择自定义一个dialog去实现。

下面说一下实现的思路。

一:设置样式



二:设置布局





 


三:代码使用,继承dialog使用

public class ToastSettingDialog extends Dialog {

private TextView mTvTip;
private TextView mTvAction;
private Context mContext;

public ToastSettingDialog(@NonNull Context context) {
super(context, R.style.toast_setting_dialog);
mContext = context;
}



@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_toast_setting);
getWindow().setGravity(Gravity.BOTTOM);
initView();

}


private void initView() {
mTvTip = findViewById(R.id.tv_tip);
mTvAction = findViewById(R.id.tv_action);
mTvAction.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {
   ToastUtil.customShow(mContext, "点击了设置");

}
   });

 }
}

四:在用到的地方实例化

ToastSettingDialog dialog=new ToastSettingDialog(Context);
//显示
dialog.show();
//隐藏
dialog.dissmiss();

 

你可能感兴趣的:(android)