From 8814f3f0828e6ac652a29cc9de9f971fd55bca5b Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期三, 07 五月 2025 14:54:42 +0800 Subject: [PATCH] 2025年05月07日14:54:39 --- app/src/main/java/com/hdl/photovoltaic/widget/TypeTitleListDialog.java | 26 ++++++++++++++++++++------ 1 files changed, 20 insertions(+), 6 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 c0f7fed..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() { @@ -96,10 +109,10 @@ viewBinding.typeParentCl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - int top = viewBinding.dialogParentCl.getTop(); - int left = viewBinding.dialogParentCl.getLeft(); - int bottom = viewBinding.dialogParentCl.getBottom(); - int right = viewBinding.dialogParentCl.getRight(); + int top = viewBinding.typeParentCl.getTop(); + int left = viewBinding.typeParentCl.getLeft(); + int bottom = viewBinding.typeParentCl.getBottom(); + int right = viewBinding.typeParentCl.getRight(); int y = (int) v.getY(); int x = (int) v.getX(); if (top < y && y < bottom) { @@ -118,6 +131,7 @@ public void setOnListener(OnClickListener onClickListener) { this.mOnClickListener = onClickListener; + } -- Gitblit v1.8.0