2 #include "traing/training_card/include/TrainingDetailView.h"
3 #include "traing/training_card/include/TraingCardView.h"
5 #include "ConfigModel.h"
7 #include "common/image_cache_manager.h"
8 #include "components/ui_button.h"
9 #include "components/ui_label_ext.h"
10 #include "languagecode/LanguageInit.h"
11 #include "traing/Training_UiConfig.h"
12 #include "traing/include/TraingModel.h"
13 #include "ui_resource_image.h"
14 #include "ui_resource_string.h"
15 #include "uicomponents/UIComponents.h"
16 #include <ui_scroll_view.h>
19 static TrainingDetailView *g_pTrainingDetailView{nullptr};
21 TrainingDetailView::TrainingDetailView() {
22 SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
23 // SetStyle(STYLE_BACKGROUND_OPA, 0);
24 // SetStyle(STYLE_BORDER_RADIUS, 466);
25 g_pTrainingDetailView = this;
27 TrainingDetailView::~TrainingDetailView() {
29 g_pTrainingDetailView = nullptr;
32 TrainingDetailView *TrainingDetailView::GetInstance() {
33 return g_pTrainingDetailView;
37 bool TrainingDetailView ::InitPage() {
39 InitImageView(progress_image, 0, 0, 100, 100, "image5", COLOR_PROGRESS_IMAGE);
40 // InitImageView(lineimage2_, 225, 190, 0, 0, "image", LINE_2_IMAGE);
41 if (lineimage2_ == nullptr) {
42 lineimage2_ = new UIImageView();
44 lineimage2_->SetPosition(232, 191);
45 lineimage2_->Resize(2, 82);
46 lineimage2_->SetViewId("image2");
47 lineimage2_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff333333);
48 lineimage2_->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
49 lineimage2_->SetVisible(true);
55 InitRollLabel(u_milelabel, 16, 234, 230, 35, "label2", STR_RANGE_SETTING,
56 DEFAULT_VECTOR_FONT_FILENAME, 30);
57 InitRollLabel(u_calorielabel, 225, 235, 230, 35, "label4",
58 STR_CALORIE_SETTING, DEFAULT_VECTOR_FONT_FILENAME, 30);
59 InitRollLabel(u_stepslabel, 73, 362, 320, 35, "label3", STR_AVG_PACE,
60 DEFAULT_VECTOR_FONT_FILENAME, 30);
62 if (ConfigModel::GetInstance()->GetLanguage() == ZH_CN) {
63 u_milelabel->SetText("距离(公里");
64 u_stepslabel->SetText("配速(分钟/公里)");
65 u_calorielabel->SetText("卡路里(千卡)");
67 u_milelabel->SetText("Distance (km)");
68 u_stepslabel->SetText("Pace (min/km)");
69 u_calorielabel->SetText("Calorie (kcal)");
71 u_milelabel->SetTextColor(Color::Gray());
72 u_stepslabel->SetTextColor(Color::Gray());
73 u_calorielabel->SetTextColor(Color::Gray());
75 //数字统一使用DEFAULT_VECTOR_FONT_FILENAME_EN
76 InitLabel(milelabel, 17, 160, 200, 80, "label6", "13.21",
77 DEFAULT_VECTOR_FONT_FILENAME_EN, 65);
78 InitLabel(calorielabel, 230, 160, 200, 80, "label7", "28312",
79 DEFAULT_VECTOR_FONT_FILENAME_EN, 65);
80 InitLabel(steplabel, 133, 285, 200, 80, "label8", "--",
81 DEFAULT_VECTOR_FONT_FILENAME_EN, 65);
90 InitButtonExt(intensity_button, 103, 70, 260, 80, "button",
91 STR_LOWER_STRENGTH, 30);
92 Add(intensity_button);
99 void TrainingDetailView::DeInit() {
101 if (u_milelabel != nullptr) {
103 u_milelabel = nullptr;
105 if (u_stepslabel != nullptr) {
107 u_stepslabel = nullptr;
109 if (u_calorielabel != nullptr) {
110 delete u_calorielabel;
111 u_calorielabel = nullptr;
113 if (milelabel != nullptr) {
117 if (steplabel != nullptr) {
121 if (calorielabel != nullptr) {
123 calorielabel = nullptr;
126 if (progress_image != nullptr) {
127 delete progress_image;
128 progress_image = nullptr;
130 if (lineimage2_ != nullptr) {
132 lineimage2_ = nullptr;
134 if (intensity_button != nullptr) {
135 delete intensity_button;
136 intensity_button = nullptr;
140 bool TrainingDetailView::InitView(void *caller) {
141 WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TrainingDetailView InitView %p",
143 if (InitPage() == false) {
144 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TrainingDetailView::InitPage fail");
151 UILabelExt *TrainingDetailView::GetMileLabel() { return milelabel; }
152 UILabelExt *TrainingDetailView::GetStepLabel() { return steplabel; }
153 UILabelExt *TrainingDetailView::GetCalorieLabel() { return calorielabel; }
154 UILabelButtonExt *TrainingDetailView::Get_Intensity_Button() {
155 return intensity_button;