From 5d3efa4c93dde0cde474951e5310bb72ebbf4184 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期三, 07 五月 2025 15:18:26 +0800 Subject: [PATCH] 2025年05月07日15:18:20 1.2.0 --- app/src/main/java/com/hdl/photovoltaic/widget/TypeTitleListDialog.java | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 53 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/TypeTitleListDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/TypeTitleListDialog.java index 60bace3..6087ca1 100644 --- a/app/src/main/java/com/hdl/photovoltaic/widget/TypeTitleListDialog.java +++ b/app/src/main/java/com/hdl/photovoltaic/widget/TypeTitleListDialog.java @@ -3,8 +3,16 @@ import android.annotation.SuppressLint; import android.app.Dialog; import android.content.Context; +import android.graphics.Color; +import android.graphics.PixelFormat; +import android.graphics.drawable.ColorDrawable; import android.os.Bundle; +import android.view.Gravity; import android.view.View; +import android.view.ViewGroup; +import android.view.Window; +import android.view.WindowManager; +import android.widget.LinearLayout; import androidx.annotation.NonNull; import androidx.recyclerview.widget.LinearLayoutManager; @@ -12,9 +20,12 @@ import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.BaseDialog; import com.hdl.photovoltaic.databinding.DialogTypeTitleListBinding; +import com.hdl.photovoltaic.utils.UnitConversionUtils; import com.hdl.photovoltaic.widget.adapter.TypeListDialogAdapter; import java.util.List; + +import io.dcloud.common.util.DensityUtils; public class TypeTitleListDialog extends BaseDialog { @@ -24,23 +35,35 @@ private TypeListDialogAdapter typeListDialogAdapter; private Context mContext; + String mSelectType; private List<String> mList; - public TypeTitleListDialog(@NonNull Context context, List<String> list) { + public TypeTitleListDialog(@NonNull Context context, List<String> list, String selectType) { super(context, R.style.Custom_Dialog); this.mContext = context; this.mList = list; + this.mSelectType = selectType; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + Window window = getWindow(); + if (window != null) { + window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); + WindowManager.LayoutParams layoutParams = window.getAttributes(); + layoutParams.gravity = Gravity.START | Gravity.TOP; + layoutParams.width = (int) UnitConversionUtils.dpToPx(mContext, 375 - 32); + layoutParams.x = (int) UnitConversionUtils.dpToPx(mContext, 16); + layoutParams.y = (int) UnitConversionUtils.dpToPx(mContext, 130+10); + window.setAttributes(layoutParams); + } viewBinding = DialogTypeTitleListBinding.inflate(getLayoutInflater()); setContentView(viewBinding.getRoot()); setDialogTouchOutsideCloseable(this); LinearLayoutManager linearLayout = new LinearLayoutManager(mContext); - typeListDialogAdapter = new TypeListDialogAdapter(this.mList, mContext); + typeListDialogAdapter = new TypeListDialogAdapter(this.mList, mContext, this.mSelectType); viewBinding.typeListRl.setLayoutManager(linearLayout); viewBinding.typeListRl.setAdapter(typeListDialogAdapter); typeListDialogAdapter.setItemOnclickListener(new TypeListDialogAdapter.OnclickListener() { @@ -52,12 +75,38 @@ } } }); + } + + @Override + protected void onStart() { + super.onStart(); +// // 鑾峰彇绐楀彛瀵硅薄 +// Window dialogWindow = this.getWindow(); +// if (dialogWindow != null) { +// // 鑾峰彇瀵硅瘽妗嗗綋鍓嶇殑鍙傛暟鍊� +// WindowManager.LayoutParams p = dialogWindow.getAttributes(); +// p.width = LinearLayout.LayoutParams.MATCH_PARENT; +// p.height = LinearLayout.LayoutParams.WRAP_CONTENT; +//// p.dimAmount = 0.6f; +// dialogWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); +// p.gravity = Gravity.BOTTOM; +// p.y = DensityUtils.dip2px(mContext, 352); +//// //杩欓噷璁剧疆鐨勫楂樹紭鍏堢骇楂樹簬XML涓殑甯冨眬璁剧疆 +//// if (this.enumBoxType == BoxType.PhotoAlbumBox) { +//// p.gravity = Gravity.BOTTOM; +//// } else if (this.enumBoxType == BoxType.FlashingBox) { +//// p.dimAmount = 0f; +//// } +// // 璁剧疆鍒板睘鎬ч厤缃腑 +// dialogWindow.setAttributes(p); +// } +// setDialogTouchOutsideCloseable(this); } @SuppressLint("ClickableViewAccessibility") public void setDialogTouchOutsideCloseable(Dialog dialog) { - viewBinding.getRoot().setOnClickListener(new View.OnClickListener() { + viewBinding.typeParentCl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { int top = viewBinding.typeParentCl.getTop(); @@ -82,6 +131,7 @@ public void setOnListener(OnClickListener onClickListener) { this.mOnClickListener = onClickListener; + } -- Gitblit v1.8.0