From 30859ca8f2175475d2c666353bc27f3b2ceede53 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 22 八月 2024 13:43:47 +0800 Subject: [PATCH] 2024年08月22日13:43:45 --- 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..7f22df2 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); + 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