| | |
| | | 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; |
| | |
| | | /** |
| | | * 图表加载 |
| | | */ |
| | | 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_drawChartWithChartOptions(aaChartModel.aa_toAAOptions()); |
| | | |
| | | |
| | | if(needDelay) { |
| | | viewBinding.autoSizeMyAAChart.setX(10000);//直接打开有闪屏,在不显示的地方先显示,再移动到正常的位置。TODO 后续找到根源问题后去掉这个用法 |
| | | aaChartView.aa_drawChartWithChartOptions(aaChartModel.aa_toAAOptions()); |
| | | mHandler.sendEmptyMessageDelayed(100,1000); |
| | | } |
| | | 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() { |
| | |
| | | viewBinding.v2.setVisibility(View.VISIBLE); |
| | | viewBinding.v3.setVisibility(View.VISIBLE); |
| | | viewBinding.homePageStationSelectTimeLl.setVisibility(View.VISIBLE); |
| | | setUpAAChartView();//图表加载 |
| | | setUpAAChartView(true);//图表加载 |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | fieldNames = keys; |
| | | fieldValues = values; |
| | | setUpAAChartView(); |
| | | setUpAAChartView(false); |
| | | } |
| | | }); |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | } |
| | | } |