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/ListDialog.java | 57 ++++++++++++++++++++------------------------------------- 1 files changed, 20 insertions(+), 37 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/ListDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/ListDialog.java index a3a1223..6bcd8cb 100644 --- a/app/src/main/java/com/hdl/photovoltaic/widget/ListDialog.java +++ b/app/src/main/java/com/hdl/photovoltaic/widget/ListDialog.java @@ -3,25 +3,27 @@ import android.annotation.SuppressLint; import android.app.Dialog; import android.content.Context; -import android.content.Intent; 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 androidx.annotation.NonNull; import androidx.recyclerview.widget.LinearLayoutManager; -import com.hdl.photovoltaic.HDLApp; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.BaseDialog; import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.databinding.DialogListBinding; -import com.hdl.photovoltaic.ui.StartActivity; import com.hdl.photovoltaic.ui.adapter.LanguageAdapter; -import com.hdl.photovoltaic.utils.AppManagerUtils; import com.hdl.photovoltaic.utils.LocalManageUtil; +import com.hdl.photovoltaic.utils.UnitConversionUtils; import com.hdl.photovoltaic.widget.adapter.ListDialogAdapter; import java.util.List; + /** * 鍔ㄦ�佸垪琛ㄥ脊绐� @@ -44,9 +46,20 @@ @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, 140); + layoutParams.x = (int) UnitConversionUtils.dpToPx(mContext, 20); + layoutParams.y = (int) UnitConversionUtils.dpToPx(mContext, 99); + window.setAttributes(layoutParams); + } + viewBinding = DialogListBinding.inflate(getLayoutInflater()); setContentView(viewBinding.getRoot()); - setDialogTouchOutsideCloseable(this); initData(); LinearLayoutManager linearLayout = new LinearLayoutManager(mContext); listDialogAdapter = new ListDialogAdapter(this.list, mContext); @@ -95,22 +108,16 @@ private void languageSelectionDialog(int position, LanguageAdapter.ItemData itemData) { ConfirmationCancelDialog dialog = new ConfirmationCancelDialog(this.mContext); - dialog.setTitle(this.mContext.getString(R.string.loading_title_tip)); dialog.setContent(this.mContext.getString(R.string.loading_app_restart)); dialog.show(); + dialog.isHideTitle(true); dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() { @Override public void Confirm() { + dialog.dismiss(); if (itemOnclickListener != null) { itemOnclickListener.onClick(position, itemData); } - UserConfigManage.getInstance().setCurrentAppLanguage(itemData.getLanguage()); - UserConfigManage.getInstance().Save(); - dialog.dismiss(); - AppManagerUtils.getAppManager().finishAllActivity(); - Intent intent = new Intent(); - intent.setClass(HDLApp.getInstance(), StartActivity.class); - mContext.startActivity(intent); } }); dialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() { @@ -131,28 +138,4 @@ } - @SuppressLint("ClickableViewAccessibility") - public void setDialogTouchOutsideCloseable(Dialog dialog) { - viewBinding.getRoot().setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - int top = viewBinding.dialogParent.getTop(); - int left = viewBinding.dialogParent.getLeft(); - int bottom = viewBinding.dialogParent.getBottom(); - int right = viewBinding.dialogParent.getRight(); - int y = (int) v.getY(); - int x = (int) v.getX(); - if (top < y && y < bottom) { - } else { - dismiss(); - } - if (left < x && x < right) { - - } else { - dismiss(); - } - - } - }); - } } -- Gitblit v1.8.0