g_pSleepView = nullptr;
}
- // 刷新UI数据
void SleepView::SleepDataRefresh()
{
// 获取睡眠数据
int total_sleep = sleepModel.get_sleep_total();
int sleep_goal = sleepModel.get_sleep_goal();
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SleepDataRefresh %d %d", sleep_hour, sleep_min);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SleepDataRefresh %d %d sleep_goal:%d total_sleep:%d", sleep_hour, sleep_min, sleep_goal, total_sleep);
// 补零操作
std::string hour_str = (sleep_hour < 10) ? "0" + std::to_string(sleep_hour) : std::to_string(sleep_hour);
float value = 0.0f;
if (sleep_goal > 0)
{
- value = (static_cast<float>(total_sleep) / (sleep_goal / 60)) * 100.0f;
+ value = static_cast<float>(total_sleep) / sleep_goal; // 计算进度
+ // value = std::clamp(value, 0.0f, 1.0f); // 确保在 0 到 1 之间
}
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Progress value: %.2f%%", value);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Progress value: %.2f%%", value * 100); // 显示为百分比
circleProgress_->SetValue(value);
circleProgress_->SetCapType(CAP_ROUND);
}