| | |
| | | import android.app.Dialog; |
| | | import android.content.Context; |
| | | 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.databinding.DialogListBinding; |
| | | import com.hdl.photovoltaic.ui.adapter.LanguageAdapter; |
| | | import com.hdl.photovoltaic.utils.LocalManageUtil; |
| | | import com.hdl.photovoltaic.utils.UnitConversionUtils; |
| | | import com.hdl.photovoltaic.widget.adapter.ListDialogAdapter; |
| | | |
| | | import java.util.List; |
| | |
| | | @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, 84); |
| | | window.setAttributes(layoutParams); |
| | | } |
| | | |
| | | viewBinding = DialogListBinding.inflate(getLayoutInflater()); |
| | | setContentView(viewBinding.getRoot()); |
| | | setDialogTouchOutsideCloseable(this); |
| | | initData(); |
| | | LinearLayoutManager linearLayout = new LinearLayoutManager(mContext); |
| | | listDialogAdapter = new ListDialogAdapter(this.list, mContext); |
| | |
| | | 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() { |
| | |
| | | } |
| | | |
| | | |
| | | @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(); |
| | | } |
| | | |
| | | } |
| | | }); |
| | | } |
| | | } |