delete timenumLabel;
timenumLabel = nullptr;
}
+ if(dataSerial != nullptr)
+ {
+ datachart->ClearDataSerial();
+ delete dataSerial;
+ dataSerial = nullptr;
+ }
+ if(datachart != nullptr)
+ {
+ delete datachart;
+ datachart = nullptr;
+ }
}
delete group;
group = nullptr;
}
/* -------------------------------------------------------------------------- */
- //倒计时更新时间文本
- void BPDetectBeginView::UpdateTimeText(int data)
- {
- if(timenumLabel != nullptr && data >= 0 && data <= BP_CHECK_TIME_MAX)
- {
+ // 倒计时更新时间文本
+ void BPDetectBeginView::UpdateTimeText(int data) {
+ if (timenumLabel != nullptr && data >= 0 && data <= BP_CHECK_TIME_MAX) {
timenumLabel->SetText(std::to_string(data).c_str());
}
+ // 生成正常血压范围(60~200)的随机数更新数据
+ for (int i = 0; i < 100; i++) {
+ testData[i].y = rand() % (210 - 60) + 60;
+ }
+
+ // 更新图表数据
+ if (datachart && dataSerial) {
+ dataSerial->ClearData();
+ dataSerial->AddPoints(testData, 100);
+ datachart->AddDataSerial(dataSerial);
+ RootView::GetInstance()->Invalidate();
+ }
+ }
+
+
+ void BPDetectBeginView::InitChartView()
+ {
+ /*
+ 测试数据 100条
+ */
+ for (int i = 0; i < 100; i++) {
+ testData[i].x = i;
+ testData[i].y = 100;
+ }
+
+ //初始化图表控件
+ if (datachart == nullptr) {
+ datachart = new UIChartPolyline();
+ }
+ datachart->SetPosition(56, 105);
+ datachart->Resize(317, 136);
+ datachart->SetViewId("uiChart");
+ datachart->SetStyle(STYLE_BACKGROUND_OPA, 0x00);
+
+ //设置坐标轴为透明
+ UIXAxis& uiChartXAxis = datachart->GetXAxis();
+ UIYAxis& uiChartYAxis = datachart->GetYAxis();
+ uiChartXAxis.SetMarkNum(100);
+ uiChartXAxis.SetDataRange(0, 100);
+ uiChartXAxis.SetLineColor(Color::GetColorFromRGBA(0x00, 0x00, 0x00, 0x00));
+ uiChartYAxis.SetMarkNum(5);
+ uiChartYAxis.SetDataRange(60, 210);
+ uiChartYAxis.SetLineColor(Color::GetColorFromRGBA(0x00, 0x00, 0x00, 0x00));
+
+ //设置数据曲线
+ dataSerial = new UIChartDataSerial();
+ dataSerial->SetMaxDataCount(100);
+ dataSerial->AddPoints(testData, 100);
+ dataSerial->SetFillColor(Color::GetColorFromRGBA(0x0b, 0xe4, 0x43, 0xff));
+ dataSerial->SetLineColor(Color::GetColorFromRGBA(0xf1, 0x0a, 0x0a, 0xff));
+ dataSerial->EnableGradient(false);
+ datachart->AddDataSerial(dataSerial);
+ datachart->SetGradientOpacity(0, 0);
}
/* -------------------------------------------------------------------------- */
/***
InitUILabel(timenumLabel, 133, 300, 200, 200, "timenumLabel", "30", DEFAULT_VECTOR_FONT_FILENAME, 100);
+ InitChartView();
+
group->Add(calibrationLabel);
group->Add(remindLabel);
group->Add(timeLabel);
group->Add(timenumLabel);
+ group->Add(datachart);
return true;
}
background->SetSrc(BPBACKPATH);
lineground = new UIImageView();
- lineground->SetPosition(49, 95, 356, 161);
+ lineground->SetPosition(55, 95, 356, 161);
lineground->SetSrc(BPLINEPATH);
group->Add(background);