df48652abd1e1bf0fd2d492afc4e2ea2a220ec8a
[mirrors/FD230.git] /
1
2 #include "traing/training_card/include/TrainingDetailView.h"
3 #include "traing/training_card/include/TraingCardView.h"
4
5 #include "ConfigModel.h"
6 #include "UiConfig.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>
17 namespace OHOS {
18
19 static TrainingDetailView *g_pTrainingDetailView{nullptr};
20
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;
26 }
27 TrainingDetailView::~TrainingDetailView() {
28   DeInit();
29   g_pTrainingDetailView = nullptr;
30 }
31
32 TrainingDetailView *TrainingDetailView::GetInstance() {
33   return g_pTrainingDetailView;
34 }
35
36 /* InitView:初始化界面*/
37 bool TrainingDetailView ::InitPage() {
38   // 初始化Image
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();
43   }
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);
50
51   Add(progress_image);
52   Add(lineimage2_);
53
54   // 初始化Lable
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);
61   //多国语言:该位置显示配速(原步数)
62   if (ConfigModel::GetInstance()->GetLanguage() == ZH_CN) {
63     u_milelabel->SetText("距离(公里");
64     u_stepslabel->SetText("配速(分钟/公里)");
65     u_calorielabel->SetText("卡路里(千卡)");
66   } else {
67     u_milelabel->SetText("Distance (km)");
68     u_stepslabel->SetText("Pace (min/km)");
69     u_calorielabel->SetText("Calorie (kcal)");
70   }
71   u_milelabel->SetTextColor(Color::Gray());
72   u_stepslabel->SetTextColor(Color::Gray());
73   u_calorielabel->SetTextColor(Color::Gray());
74
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);
82
83   Add(u_milelabel);
84   Add(u_stepslabel);
85   Add(u_calorielabel);
86   Add(milelabel);
87   Add(steplabel);
88   Add(calorielabel);
89
90   InitButtonExt(intensity_button, 103, 70, 260, 80, "button",
91                 STR_LOWER_STRENGTH, 30);
92   Add(intensity_button);
93
94   SetTouchable(true);
95
96   return true;
97 }
98 /* DeInit:删除组件 */
99 void TrainingDetailView::DeInit() {
100   RemoveAll();
101   if (u_milelabel != nullptr) {
102     delete u_milelabel;
103     u_milelabel = nullptr;
104   }
105   if (u_stepslabel != nullptr) {
106     delete u_stepslabel;
107     u_stepslabel = nullptr;
108   }
109   if (u_calorielabel != nullptr) {
110     delete u_calorielabel;
111     u_calorielabel = nullptr;
112   }
113   if (milelabel != nullptr) {
114     delete milelabel;
115     milelabel = nullptr;
116   }
117   if (steplabel != nullptr) {
118     delete steplabel;
119     steplabel = nullptr;
120   }
121   if (calorielabel != nullptr) {
122     delete calorielabel;
123     calorielabel = nullptr;
124   }
125
126   if (progress_image != nullptr) {
127     delete progress_image;
128     progress_image = nullptr;
129   }
130   if (lineimage2_ != nullptr) {
131     delete lineimage2_;
132     lineimage2_ = nullptr;
133   }
134   if (intensity_button != nullptr) {
135     delete intensity_button;
136     intensity_button = nullptr;
137   }
138 }
139
140 bool TrainingDetailView::InitView(void *caller) {
141   WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TrainingDetailView InitView %p",
142                 caller);
143   if (InitPage() == false) {
144     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TrainingDetailView::InitPage fail");
145     return false;
146   }
147   SetDraggable(true);
148   SetTouchable(true);
149   return true;
150 }
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;
156 }
157 } // namespace OHOS