From 9c67fc611daf6f9cb7c05f72d598543bff2d26f1 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期五, 25 十月 2024 11:23:17 +0800 Subject: [PATCH] s2024年10月25日11:23:14 --- app/src/main/java/com/hdl/photovoltaic/widget/TypeTitleListDialog.java | 61 +++++++++++++++++++----------- 1 files changed, 38 insertions(+), 23 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 3b17eeb..6087ca1 100644 --- a/app/src/main/java/com/hdl/photovoltaic/widget/TypeTitleListDialog.java +++ b/app/src/main/java/com/hdl/photovoltaic/widget/TypeTitleListDialog.java @@ -20,6 +20,7 @@ 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; @@ -34,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() { @@ -67,32 +80,33 @@ @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, 70); -// //杩欓噷璁剧疆鐨勫楂樹紭鍏堢骇楂樹簬XML涓殑甯冨眬璁剧疆 -// if (this.enumBoxType == BoxType.PhotoAlbumBox) { -// p.gravity = Gravity.BOTTOM; -// } else if (this.enumBoxType == BoxType.FlashingBox) { -// p.dimAmount = 0f; -// } - // 璁剧疆鍒板睘鎬ч厤缃腑 - dialogWindow.setAttributes(p); - } +// // 鑾峰彇绐楀彛瀵硅薄 +// 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(); @@ -117,6 +131,7 @@ public void setOnListener(OnClickListener onClickListener) { this.mOnClickListener = onClickListener; + } -- Gitblit v1.8.0