From bae677bcbf12e6e7bff63baff362f3ce91184a62 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 09 五月 2024 17:49:33 +0800 Subject: [PATCH] 2024年05月09日17:49:28 --- app/src/main/java/com/hdl/photovoltaic/widget/DefaultFilteringDialog.java | 275 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 270 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/DefaultFilteringDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/DefaultFilteringDialog.java index 6f41018..5fd99bc 100644 --- a/app/src/main/java/com/hdl/photovoltaic/widget/DefaultFilteringDialog.java +++ b/app/src/main/java/com/hdl/photovoltaic/widget/DefaultFilteringDialog.java @@ -2,13 +2,18 @@ import android.content.Context; import android.os.Bundle; +import android.text.TextUtils; import android.view.View; +import android.widget.TextView; import androidx.annotation.NonNull; +import androidx.appcompat.content.res.AppCompatResources; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.BaseDialog; import com.hdl.photovoltaic.databinding.DialogDefaultFilteringBinding; +import com.hdl.photovoltaic.enums.GridType; +import com.hdl.photovoltaic.other.HdlThreadLogic; public class DefaultFilteringDialog extends BaseDialog { private final Context mContext; @@ -16,6 +21,18 @@ DialogDefaultFilteringBinding viewBinding; OnClickListener mOnClickListener; + + final String text1 = "0-5"; + final String text2 = "5-10"; + final String text3 = "10-15"; + final String text4 = "15-30"; + final String text5 = "30-100"; + final String text6 = "100-300"; + final String text7 = "300-500"; + final String text8 = "500+"; + + + private String mStateValue = GridType.All; public DefaultFilteringDialog(@NonNull Context context) { super(context, R.style.Custom_Dialog); @@ -32,7 +49,7 @@ //鍒濆鍖栫晫闈㈡帶浠� initView(); //鍒濆鍖栫晫闈㈡暟鎹� - initData(); +// initData(mMinValue, mMaxValue, mStateValue); //鍒濆鍖栫晫闈㈡帶浠剁殑浜嬩欢 initEvent(); } @@ -42,12 +59,36 @@ viewBinding.affirmLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - if (mOnClickListener != null) { - mOnClickListener.confirm(); + String minValue = viewBinding.minEt.getText().toString(); + String maxValue = viewBinding.maxEt.getText().toString(); + if (!TextUtils.isEmpty(minValue) && !TextUtils.isEmpty(maxValue)) { + try { + if (Integer.parseInt(minValue) > Integer.parseInt(maxValue)) { + //鏈�灏忓�煎湪鍓嶉潰 + if (mOnClickListener != null) { + mOnClickListener.confirm(maxValue, minValue, mStateValue); + } + } else { + if (mOnClickListener != null) { + mOnClickListener.confirm(minValue, maxValue, mStateValue); + } + } + } catch (Exception e) { + //寮哄埗杞崲鍥犺緭鍏ュ�艰秴鍑篿nt鍊煎煙鑼冨洿鎶ュ嚭寮傚父 + int maxValueInt = Integer.MAX_VALUE; + HdlThreadLogic.toast(mContext, mContext.getString(R.string.the_input_value_has_been_exceeded) + "(" + maxValueInt + ")."); + return; + } + + } else { + if (mOnClickListener != null) { + mOnClickListener.confirm(minValue, maxValue, mStateValue); + } } dismiss(); } }); + viewBinding.cancelLl.setOnClickListener(new View.OnClickListener() { @Override @@ -55,12 +96,228 @@ dismiss(); } }); + + viewBinding.resetTv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + setBackgroundColor(null, TitleType.string_capacity); + setSelectedText(""); + } + }); + viewBinding.text1Tv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + setBackgroundColor(viewBinding.text1Tv, TitleType.string_capacity); + setSelectedText(viewBinding.text1Tv.getTag().toString()); + } + }); + viewBinding.text2Tv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + setBackgroundColor(viewBinding.text2Tv, TitleType.string_capacity); + setSelectedText(viewBinding.text2Tv.getTag().toString()); + } + }); + viewBinding.text3Tv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + setBackgroundColor(viewBinding.text3Tv, TitleType.string_capacity); + setSelectedText(viewBinding.text3Tv.getTag().toString()); + } + }); + viewBinding.text4Tv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + setBackgroundColor(viewBinding.text4Tv, TitleType.string_capacity); + setSelectedText(viewBinding.text4Tv.getTag().toString()); + } + }); + + viewBinding.text5Tv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + setBackgroundColor(viewBinding.text5Tv, TitleType.string_capacity); + setSelectedText(viewBinding.text5Tv.getTag().toString()); + } + }); + viewBinding.text6Tv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + setBackgroundColor(viewBinding.text6Tv, TitleType.string_capacity); + setSelectedText(viewBinding.text6Tv.getTag().toString()); + } + }); + viewBinding.text7Tv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + setBackgroundColor(viewBinding.text7Tv, TitleType.string_capacity); + setSelectedText(viewBinding.text7Tv.getTag().toString()); + } + }); + viewBinding.text8Tv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + setBackgroundColor(viewBinding.text8Tv, TitleType.string_capacity); + setSelectedText(viewBinding.text8Tv.getTag().toString()); + } + }); + + viewBinding.allTv.setOnClickListener(new View.OnClickListener() { + + @Override + public void onClick(View v) { + setBackgroundColor(viewBinding.allTv, TitleType.GridConnectedState); + setSelectedText(viewBinding.allTv.getTag().toString()); + } + }); + viewBinding.gridConnectedTv.setOnClickListener(new View.OnClickListener() { + + @Override + public void onClick(View v) { + setBackgroundColor(viewBinding.gridConnectedTv, TitleType.GridConnectedState); + setSelectedText(viewBinding.gridConnectedTv.getTag().toString()); + } + }); + viewBinding.offNetworkTv.setOnClickListener(new View.OnClickListener() { + + @Override + public void onClick(View v) { + setBackgroundColor(viewBinding.offNetworkTv, TitleType.GridConnectedState); + setSelectedText(viewBinding.offNetworkTv.getTag().toString()); + } + }); + } - private void initData() { + /** + * @param value 閫変腑鐨勫�� + */ + private void setSelectedText(String value) { + + String minValue = "", maxValue = ""; + if (TextUtils.isEmpty(value)) { + minValue = ""; + maxValue = ""; + } else if (value.contains("+")) { + minValue = "500"; + maxValue = ""; + } else if (value.contains("-")) { + String[] min_max = value.split("-"); + if (min_max.length == 2) { + minValue = min_max[0]; + maxValue = min_max[1]; + } + } else { + mStateValue = value; + } + + viewBinding.minEt.setText(minValue); + viewBinding.maxEt.setText(maxValue); + + } + + /** + * 鏀瑰彉缁勪欢鑳屾櫙锛屽瓧浣撻鑹叉牸寮� + * + * @param textView 缁勪欢鍙互锛堣缃负null,娌℃湁閫変腑鐘舵��) + * @param titleType 淇敼绫诲瀷 + */ + private void setBackgroundColor(TextView textView, TitleType titleType) { + if (titleType == TitleType.string_capacity) { + viewBinding.text1Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000)); + viewBinding.text1Tv.setTextColor(mContext.getColor(R.color.text_90000000)); + viewBinding.text2Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000)); + viewBinding.text2Tv.setTextColor(mContext.getColor(R.color.text_90000000)); + viewBinding.text3Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000)); + viewBinding.text3Tv.setTextColor(mContext.getColor(R.color.text_90000000)); + viewBinding.text4Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000)); + viewBinding.text4Tv.setTextColor(mContext.getColor(R.color.text_90000000)); + viewBinding.text5Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000)); + viewBinding.text5Tv.setTextColor(mContext.getColor(R.color.text_90000000)); + viewBinding.text6Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000)); + viewBinding.text6Tv.setTextColor(mContext.getColor(R.color.text_90000000)); + viewBinding.text7Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000)); + viewBinding.text7Tv.setTextColor(mContext.getColor(R.color.text_90000000)); + viewBinding.text8Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000)); + viewBinding.text8Tv.setTextColor(mContext.getColor(R.color.text_90000000)); + } else { + viewBinding.allTv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000)); + viewBinding.allTv.setTextColor(mContext.getColor(R.color.text_90000000)); + viewBinding.gridConnectedTv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000)); + viewBinding.gridConnectedTv.setTextColor(mContext.getColor(R.color.text_90000000)); + viewBinding.offNetworkTv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000)); + viewBinding.offNetworkTv.setTextColor(mContext.getColor(R.color.text_90000000)); + } + if (textView != null) { + textView.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.selected_38c494)); + textView.setTextColor(mContext.getColor(R.color.text_FFFFFFFF)); + } + + } + + public void initState(String min, String max, String stateValue) { + try { + mStateValue = stateValue; + viewBinding.minEt.setText(min); + viewBinding.maxEt.setText(max); + + if (!TextUtils.isEmpty(min) || !TextUtils.isEmpty(max)) { + String str = min + "-" + max; + switch (str) { + case text1: + setBackgroundColor(viewBinding.text1Tv, TitleType.string_capacity); + break; + case text2: + setBackgroundColor(viewBinding.text2Tv, TitleType.string_capacity); + break; + case text3: + setBackgroundColor(viewBinding.text3Tv, TitleType.string_capacity); + break; + case text4: + setBackgroundColor(viewBinding.text4Tv, TitleType.string_capacity); + break; + case text5: + setBackgroundColor(viewBinding.text5Tv, TitleType.string_capacity); + break; + case text6: + setBackgroundColor(viewBinding.text6Tv, TitleType.string_capacity); + break; + case text7: + setBackgroundColor(viewBinding.text7Tv, TitleType.string_capacity); + break; + case text8: + setBackgroundColor(viewBinding.text8Tv, TitleType.string_capacity); + break; + } + } + if (TextUtils.isEmpty(stateValue)) { + setBackgroundColor(viewBinding.allTv, TitleType.GridConnectedState); + } else if (stateValue.equals(GridType.FULL_GRID)) { + setBackgroundColor(viewBinding.gridConnectedTv, TitleType.GridConnectedState); + } else { + setBackgroundColor(viewBinding.offNetworkTv, TitleType.GridConnectedState); + } + } catch (Exception ignored) { + } + } private void initView() { + + viewBinding.text1Tv.setTag(text1); + viewBinding.text2Tv.setTag(text2); + viewBinding.text3Tv.setTag(text3); + viewBinding.text4Tv.setTag(text4); + viewBinding.text5Tv.setTag(text5); + viewBinding.text6Tv.setTag(text6); + viewBinding.text7Tv.setTag(text7); + viewBinding.text8Tv.setTag(text8); + + viewBinding.allTv.setTag(GridType.All); + viewBinding.gridConnectedTv.setTag(GridType.FULL_GRID); + viewBinding.offNetworkTv.setTag(GridType.OFFLINE); + setBackgroundColor(null, TitleType.string_capacity); + setBackgroundColor(viewBinding.allTv, TitleType.GridConnectedState); } public void setOnClickListener(OnClickListener onClickListener) { @@ -71,6 +328,14 @@ public interface OnClickListener { - void confirm(); + void confirm(String min, String max, String state); } + + public enum TitleType { + string_capacity,//缁勪覆瀹归噺 + GridConnectedState//骞剁綉鐘舵�� + + } + + } -- Gitblit v1.8.0