mac
2023-10-10 32b5f366ceaad4aa9a33eccf0b109eef24175495
app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java
@@ -14,7 +14,7 @@
import androidx.constraintlayout.widget.ConstraintSet;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.databinding.LoadingConfirmInputBinding;
import com.hdl.photovoltaic.databinding.DialogConfirmInputBinding;
import com.hdl.photovoltaic.utils.KeyboardStateObserverUtils;
/**
@@ -23,20 +23,20 @@
public class ConfirmationInputDialog extends Dialog {
    public ConfirmationInputDialog(@NonNull Context context) {
        super(context, R.style.Custom_AlertDialog);
        super(context, R.style.Custom_Dialog);
        this.mContext = context;
    }
    private final Context mContext;
    private onNoOnclickListener noOnclickListener;//取消按钮被点击了的监听器
    private onYesOnclickListener yesOnclickListener;//确定按钮被点击了的监听器
    private LoadingConfirmInputBinding viewBinding;
    private DialogConfirmInputBinding viewBinding;
    private String titleStr, yesStr, noStr;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        viewBinding = LoadingConfirmInputBinding.inflate(getLayoutInflater());
        viewBinding = DialogConfirmInputBinding.inflate(getLayoutInflater());
        setContentView(viewBinding.getRoot());
//        setCancelable(true);//系统后退可以取消
        //空白处不能取消动画
@@ -51,13 +51,20 @@
        KeyboardStateObserverUtils.getKeyboardStateObserver((Activity) mContext).setKeyboardVisibilityListener(new KeyboardStateObserverUtils.OnKeyboardVisibilityListener() {
            @Override
            public void onKeyboardShow(int h) {
                //Toast.makeText(MainActivity.this,"键盘弹出",Toast.LENGTH_SHORT).show();
                ConstraintSet cs = new ConstraintSet();
                cs.clone(viewBinding.loadingParentCl);
//                (viewBinding.loadingConfirmationRl.getTop()-dip2px(h))
                cs.connect(R.id.loading_confirmation_rl, ConstraintSet.BOTTOM, ConstraintSet.PARENT_ID, ConstraintSet.BOTTOM, px2dip(h));//
                //应用约束
                cs.applyTo(viewBinding.loadingParentCl);
//                FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) viewBinding.loadingParentCl.getLayoutParams();
//                lp.bottomMargin = px2dip(h);
//                viewBinding.loadingParentCl.setLayoutParams(lp);
            }
            @Override
@@ -225,7 +232,7 @@
    /**
     * 根据手机的分辨率从 dp 的单位 转成为 px(像素)
     */
    public int dip2px(float dpValue) {
    private int dip2px(float dpValue) {
        if (mContext == null) {
            return 0;
        }
@@ -236,7 +243,7 @@
    /**
     * 根据手机的分辨率从 px(像素) 的单位 转成为 dp
     */
    public int px2dip(float pxValue) {
    private int px2dip(float pxValue) {
        final float scale = mContext.getResources().getDisplayMetrics().density;
        return (int) (pxValue / scale + 0.5f);
    }