| | |
| | | import static com.hdl.photovoltaic.ui.home.aachart.CustomStyleChartComposer.configureColorfulColumnChart; |
| | | |
| | | import android.os.Bundle; |
| | | import android.os.Handler; |
| | | import android.os.Message; |
| | | import android.os.SystemClock; |
| | | import android.text.SpannableString; |
| | | import android.text.Spanned; |
| | |
| | | import android.text.style.ForegroundColorSpan; |
| | | import android.text.style.StyleSpan; |
| | | import android.view.View; |
| | | import android.view.ViewGroup; |
| | | |
| | | |
| | | import androidx.annotation.NonNull; |
| | |
| | | import org.greenrobot.eventbus.Subscribe; |
| | | import org.greenrobot.eventbus.ThreadMode; |
| | | |
| | | import java.lang.ref.WeakReference; |
| | | import java.util.Calendar; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | |
| | | viewBinding.unitTv.setText(UnitType.kW); |
| | | viewBinding.unitTextTv.setText(getString(R.string.pv_power)); |
| | | viewBinding.dayTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.time_selected_38c494)); |
| | | viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_38C494)); |
| | | viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_E6FFFFFF)); |
| | | |
| | | viewBinding.monthTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); |
| | | viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); |
| | | viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF)); |
| | | |
| | | viewBinding.yearTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); |
| | | viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); |
| | | viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF)); |
| | | |
| | | viewBinding.lifeCycleTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); |
| | | viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); |
| | | viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF)); |
| | | |
| | | viewBinding.v1.setVisibility(View.GONE); |
| | | viewBinding.v2.setVisibility(View.VISIBLE); |
| | |
| | | viewBinding.unitTv.setText(UnitType.kWh); |
| | | viewBinding.unitTextTv.setText(getString(R.string.generation)); |
| | | viewBinding.dayTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); |
| | | viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); |
| | | viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF)); |
| | | |
| | | viewBinding.monthTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.time_selected_38c494)); |
| | | viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_38C494)); |
| | | viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_E6FFFFFF)); |
| | | |
| | | viewBinding.yearTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); |
| | | viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); |
| | | viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF)); |
| | | |
| | | viewBinding.lifeCycleTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); |
| | | viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); |
| | | viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF)); |
| | | |
| | | viewBinding.v1.setVisibility(View.GONE); |
| | | viewBinding.v2.setVisibility(View.GONE); |
| | |
| | | viewBinding.unitTv.setText(UnitType.kWh); |
| | | viewBinding.unitTextTv.setText(getString(R.string.generation)); |
| | | viewBinding.dayTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); |
| | | viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); |
| | | viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF)); |
| | | |
| | | viewBinding.monthTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); |
| | | viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); |
| | | viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF)); |
| | | |
| | | viewBinding.yearTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.time_selected_38c494)); |
| | | viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_38C494)); |
| | | viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_E6FFFFFF)); |
| | | |
| | | viewBinding.lifeCycleTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); |
| | | viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); |
| | | viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF)); |
| | | |
| | | viewBinding.v1.setVisibility(View.VISIBLE); |
| | | viewBinding.v2.setVisibility(View.GONE); |
| | |
| | | viewBinding.unitTv.setText(UnitType.kWh); |
| | | viewBinding.unitTextTv.setText(getString(R.string.generation)); |
| | | viewBinding.dayTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); |
| | | viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); |
| | | viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF)); |
| | | |
| | | viewBinding.monthTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); |
| | | viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); |
| | | viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF)); |
| | | |
| | | viewBinding.yearTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); |
| | | viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); |
| | | viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF)); |
| | | |
| | | viewBinding.lifeCycleTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.time_selected_38c494)); |
| | | viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_38C494)); |
| | | viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_E6FFFFFF)); |
| | | |
| | | viewBinding.v1.setVisibility(View.VISIBLE); |
| | | viewBinding.v2.setVisibility(View.VISIBLE); |
| | |
| | | /** |
| | | * 图表加载 |
| | | */ |
| | | private void setUpAAChartView() { |
| | | private void setUpAAChartView(boolean needDelay) { |
| | | aaChartView = viewBinding.autoSizeMyAAChart; |
| | | aaChartView.callBack = this; |
| | | if (TimeType.day.equals(timeType)) { |
| | |
| | | } else if (TimeType.month.equals(timeType) || TimeType.year.equals(timeType) || TimeType.all.equals(timeType)) { |
| | | aaChartModel = configureColorfulColumnChart(getString(R.string.generation), fieldNames, fieldValues); |
| | | } |
| | | aaChartView.aa_drawChartWithChartModel(aaChartModel); |
| | | |
| | | |
| | | if(needDelay) { |
| | | viewBinding.autoSizeMyAAChart.setX(10000);//直接打开有闪屏,在不显示的地方先显示,再移动到正常的位置。TODO 后续找到根源问题后去掉这个用法 |
| | | aaChartView.aa_drawChartWithChartOptions(aaChartModel.aa_toAAOptions()); |
| | | mHandler.sendEmptyMessageDelayed(100,800); |
| | | } |
| | | else{ |
| | | aaChartView.aa_drawChartWithChartOptions(aaChartModel.aa_toAAOptions()); |
| | | } |
| | | } |
| | | |
| | | FHandler mHandler=new FHandler(this); |
| | | |
| | | private static class FHandler extends Handler{ |
| | | //定义弱引用实例 |
| | | private WeakReference<HomePageFragment> reference; |
| | | |
| | | //在构造方法中传入需要持有的fragment实例 |
| | | public FHandler(HomePageFragment fragment) { |
| | | reference = new WeakReference<HomePageFragment>(fragment); } |
| | | |
| | | //通过复写handlerMessage()从而决定如何进行更新UI操作 |
| | | @Override |
| | | public void handleMessage(Message msg) { |
| | | //省略代码 |
| | | |
| | | switch (msg.what){ |
| | | case 100: |
| | | if(reference.get()!=null) { |
| | | reference.get().viewBinding.autoSizeMyAAChart.setX(0);//移动到正确的位置 |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onDestroy() { |
| | | super.onDestroy(); |
| | | mHandler.removeCallbacksAndMessages(null); |
| | | } |
| | | |
| | | private void initView() { |
| | |
| | | // String generation = getString(R.string.generation) + "/" + UnitType.kWh; |
| | | // viewBinding.homePageStationInfoRl1TitleTv.setText(generation); |
| | | |
| | | viewBinding.homePageStationInfoRl2DayIc.dataTypeTv.setText(R.string.day_power_generation); |
| | | viewBinding.homePageStationInfoRl2MonIc.dataTypeTv.setText(R.string.month_power_generation); |
| | | viewBinding.homePageStationInfoRl2YearIc.dataTypeTv.setText(R.string.year_power_generation); |
| | | viewBinding.homePageStationInfoRl2CumulativeIc.dataTypeTv.setText(R.string.cumulative_power_generation); |
| | | |
| | | // viewBinding.day.setText(R.string.day_power_generation); |
| | | // viewBinding.month.setText(R.string.month_power_generation); |
| | | // viewBinding.year.setText(R.string.year_power_generation); |
| | | // viewBinding.Total.setText(R.string.cumulative_power_generation); |
| | | // |
| | | viewBinding.unitTv.setText(UnitType.kW); |
| | | |
| | | |
| | | viewBinding.dayTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.time_selected_38c494)); |
| | | viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_38C494)); |
| | | viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_E6FFFFFF)); |
| | | viewBinding.monthTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); |
| | | viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); |
| | | viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF)); |
| | | viewBinding.yearTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); |
| | | viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); |
| | | viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF)); |
| | | viewBinding.lifeCycleTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); |
| | | viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); |
| | | viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF)); |
| | | viewBinding.v1.setVisibility(View.GONE); |
| | | viewBinding.v2.setVisibility(View.VISIBLE); |
| | | viewBinding.v3.setVisibility(View.VISIBLE); |
| | | viewBinding.homePageStationSelectTimeLl.setVisibility(View.VISIBLE); |
| | | setUpAAChartView();//图表加载 |
| | | setUpAAChartView(true);//图表加载 |
| | | } |
| | | |
| | | |
| | |
| | | // spannableString.setSpan(colorSpan, startIndex, endIndex, 0); |
| | | // viewBinding.infoRl1FText1Tv.setText(spannableString); |
| | | viewBinding.infoRl1FText1Tv.setText(dataOverBean.getPowerRatio()); |
| | | try { |
| | | int progress = 0; |
| | | if (!TextUtils.isEmpty(dataOverBean.getPowerRatio())) { |
| | | progress = (int) Double.parseDouble(dataOverBean.getPowerRatio()); |
| | | if (progress > 100) { |
| | | progress = 100; |
| | | } |
| | | if (progress < 0) { |
| | | progress = 0; |
| | | } |
| | | viewBinding.progressBar.setProgress(progress); |
| | | } |
| | | |
| | | } catch (Exception ignored) { |
| | | } |
| | | |
| | | viewBinding.homePageStationInfoRl2DayIc.dataTv.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getTodayElectricity())); |
| | | viewBinding.homePageStationInfoRl2MonIc.dataTv.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getMonthElectricity())); |
| | | viewBinding.homePageStationInfoRl2YearIc.dataTv.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getYearElectricity())); |
| | | viewBinding.homePageStationInfoRl2CumulativeIc.dataTv.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getTotalElectricity())); |
| | | viewBinding.day.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getTodayElectricity())); |
| | | viewBinding.month.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getMonthElectricity())); |
| | | viewBinding.year.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getYearElectricity())); |
| | | viewBinding.Total.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getTotalElectricity())); |
| | | |
| | | } |
| | | }); |
| | | } |
| | |
| | | } |
| | | fieldNames = keys; |
| | | fieldValues = values; |
| | | setUpAAChartView(); |
| | | setUpAAChartView(false); |
| | | } |
| | | }); |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | } |
| | | } |