From 5d320cd16c9fc2b45d0b9cbd7225febf42489f9e Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期一, 03 七月 2023 18:56:11 +0800 Subject: [PATCH] 2023年07月03日18:56:09 --- app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java | 69 +++++++++++++++++++++++++++++++++- 1 files changed, 67 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java index b117d45..d57aef4 100644 --- a/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java +++ b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java @@ -1,5 +1,6 @@ package com.hdl.photovoltaic.widget; +import android.app.Activity; import android.app.Dialog; import android.content.Context; import android.os.Bundle; @@ -10,9 +11,11 @@ import androidx.annotation.NonNull; import androidx.appcompat.content.res.AppCompatResources; +import androidx.constraintlayout.widget.ConstraintSet; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.databinding.LoadingConfirmInputBinding; +import com.hdl.photovoltaic.utils.KeyboardStateObserverUtils; /** * 杈撳叆纭妗� @@ -20,7 +23,7 @@ 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; } @@ -29,7 +32,6 @@ private onYesOnclickListener yesOnclickListener;//纭畾鎸夐挳琚偣鍑讳簡鐨勭洃鍚櫒 private LoadingConfirmInputBinding viewBinding; private String titleStr, yesStr, noStr; - @Override protected void onCreate(Bundle savedInstanceState) { @@ -45,6 +47,37 @@ initData(); //鍒濆鍖栫晫闈㈡帶浠剁殑浜嬩欢 initEvent(); + //鍦ㄧ晫闈腑浣跨敤 + KeyboardStateObserverUtils.getKeyboardStateObserver((Activity) mContext).setKeyboardVisibilityListener(new KeyboardStateObserverUtils.OnKeyboardVisibilityListener() { + @Override + public void onKeyboardShow(int h) { + 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 + + public void onKeyboardHide(int h) { + ConstraintSet cs = new ConstraintSet(); + cs.clone(viewBinding.loadingParentCl); + cs.connect(R.id.loading_confirmation_rl, ConstraintSet.BOTTOM, ConstraintSet.PARENT_ID, ConstraintSet.BOTTOM, px2dip(h));// + //搴旂敤绾︽潫 + cs.applyTo(viewBinding.loadingParentCl); + } + + }); } @@ -59,6 +92,9 @@ return; } titleStr = title; + if (viewBinding != null) { + viewBinding.loadingConfirmationTitleTv.setText(titleStr); + } } @@ -72,6 +108,10 @@ return; } yesStr = confirm; + + if (viewBinding != null) { + viewBinding.dialogConfirmTv.setText(yesStr); + } } @@ -87,6 +127,9 @@ } noStr = cancel; + if (viewBinding != null) { + viewBinding.dialogCancelTv.setText(noStr); + } } @@ -132,6 +175,9 @@ * 鍒濆鍖栫晫闈㈡帶浠剁殑鏄剧ず鏁版嵁 */ private void initData() { + if (viewBinding == null) { + return; + } //濡傛灉鐢ㄦ埛鑷畾浜唗itle鍜宮essage if (!TextUtils.isEmpty(titleStr)) { viewBinding.loadingConfirmationTitleTv.setText(titleStr); @@ -183,4 +229,23 @@ void Confirm(String str); } + /** + * 鏍规嵁鎵嬫満鐨勫垎杈ㄧ巼浠� dp 鐨勫崟浣� 杞垚涓� px(鍍忕礌) + */ + private int dip2px(float dpValue) { + if (mContext == null) { + return 0; + } + final float scale = mContext.getResources().getDisplayMetrics().density; + return (int) (dpValue * scale + 0.5f); + } + + /** + * 鏍规嵁鎵嬫満鐨勫垎杈ㄧ巼浠� px(鍍忕礌) 鐨勫崟浣� 杞垚涓� dp + */ + private int px2dip(float pxValue) { + final float scale = mContext.getResources().getDisplayMetrics().density; + return (int) (pxValue / scale + 0.5f); + } + } -- Gitblit v1.8.0