| | |
| | | |
| | | package com.hdl.photovoltaic.widget; |
| | | |
| | | import android.app.Dialog; |
| | | import android.content.Context; |
| | | import android.graphics.drawable.Drawable; |
| | | import android.os.Bundle; |
| | |
| | | import androidx.annotation.NonNull; |
| | | |
| | | import com.hdl.photovoltaic.R; |
| | | import com.hdl.photovoltaic.base.BaseDialog; |
| | | import com.hdl.photovoltaic.databinding.DialogFlashingBoxBinding; |
| | | |
| | | import java.util.Timer; |
| | |
| | | /** |
| | | * 自定义自动关闭dialog |
| | | */ |
| | | public class FlashingBoxDialog extends Dialog { |
| | | public class FlashingBoxDialog extends BaseDialog { |
| | | |
| | | private DialogFlashingBoxBinding viewBinding; |
| | | |
| | | private Drawable mDrawable; |
| | | private String mContentStr; |
| | | |
| | | //默认1500毫秒 |
| | | private int mMillisecond = 1500; |
| | | |
| | | public FlashingBoxDialog(@NonNull Context context) { |
| | | super(context, R.style.Custom_Dialog); |
| | | super(context, R.style.Custom_List_Dialog); |
| | | } |
| | | |
| | | /** |
| | | * @param context 上下文 |
| | | * @param millisecond 设置延时时间关闭弹窗(单位ms) |
| | | */ |
| | | public FlashingBoxDialog(@NonNull Context context, int millisecond) { |
| | | this(context); |
| | | this.mMillisecond = millisecond; |
| | | } |
| | | |
| | | @Override |
| | |
| | | super.onCreate(savedInstanceState); |
| | | viewBinding = DialogFlashingBoxBinding.inflate(getLayoutInflater()); |
| | | setContentView(viewBinding.getRoot()); |
| | | if (this.mDrawable != null) { |
| | | viewBinding.tipImageTv.setBackground(this.mDrawable); |
| | | } |
| | | |
| | | if (!TextUtils.isEmpty(this.mContentStr)) { |
| | | viewBinding.tipContentTv.setText(this.mContentStr); |
| | | } |
| | | flashing(); |
| | | } |
| | | |
| | | /** |
| | | * 设置图标 |
| | | * |
| | | * @param drawable 成功或者失败图标 |
| | | */ |
| | | public void setImage(Drawable drawable) { |
| | | this.mDrawable = drawable; |
| | | if (viewBinding != null && this.mDrawable != null) { |
| | | viewBinding.tipImageTv.setBackground(drawable); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 设置提示文本 |
| | |
| | | } |
| | | |
| | | /** |
| | | * 设置延时时间关闭弹窗 |
| | | * |
| | | * @param millisecond 时间(单位ms) |
| | | */ |
| | | public void setDelayTime(int millisecond) { |
| | | this.mMillisecond = millisecond; |
| | | } |
| | | |
| | | /** |
| | | * 三秒后自动关闭dialog |
| | | */ |
| | | private void flashing() { |
| | |
| | | timer.cancel(); |
| | | dismiss(); |
| | | } |
| | | }, 3000); |
| | | }, this.mMillisecond); |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | } |