mcu_hi3321_watch/tjd/ui/app/breathing/TjdUiAppBreathingView.cpp
2025-05-26 20:15:20 +08:00

1042 lines
45 KiB
C++

#include "TjdUiAppBreathingView.h"
#include "TjdUiImageIds.h"
#include "TjdUiMemManage.h"
#include "TjdUiMultiLanguageExt.h"
#include "TjdUiScreenManage.h"
#include "TjdUiUtils.h"
#include "common/image_cache_manager.h"
#include "gfx_utils/mem_check.h"
#include "notification_manager.h"
#include "style.h"
#define IF_MEM_CHECK 0
namespace TJD {
using namespace OHOS;
#define BREATHING_IMAGE_BIN_PATH TJD_IMAGE_PATH "img_breathing.bin"
#define INHALE_ANIMATOR_COUNT 10
#define EXHALE_ANIMATOR_COUNT 10
#define HALE_ANIMATOR_COUNT 10
enum BreathingImageInfoIndex
{
BREATHING_INFO_TIME,
BREATHING_INFO_MODEL,
BREATHING_INFO_START,
BREATHING_INFO_NOT_SELECT,
BREATHING_INFO_SELECT,
BREATHING_INFO_BACKGROUND_START,
BREATHING_INFO_HEART,
BREATHING_INFO_COUNT
};
int InhaleAnimatorId[] = {IMG_BREATHING_BREATHE_DT_11_03, IMG_BREATHING_BREATHE_DT_12_03,
IMG_BREATHING_BREATHE_DT_13_03, IMG_BREATHING_BREATHE_DT_14_03,
IMG_BREATHING_BREATHE_DT_15_03, IMG_BREATHING_BREATHE_DT_16_03,
IMG_BREATHING_BREATHE_DT_17_03, IMG_BREATHING_BREATHE_DT_18_03,
IMG_BREATHING_BREATHE_DT_19_03, IMG_BREATHING_BREATHE_DT_20_03};
int ExhaleAnimatorId[] = {IMG_BREATHING_BREATHE_DT_01_03, IMG_BREATHING_BREATHE_DT_02_03,
IMG_BREATHING_BREATHE_DT_03_03, IMG_BREATHING_BREATHE_DT_04_03,
IMG_BREATHING_BREATHE_DT_05_03, IMG_BREATHING_BREATHE_DT_06_03,
IMG_BREATHING_BREATHE_DT_07_03, IMG_BREATHING_BREATHE_DT_08_03,
IMG_BREATHING_BREATHE_DT_09_03, IMG_BREATHING_BREATHE_DT_10_03};
int HaleAnimatorId[] = {
IMG_BREATHING_BREATHE_DT_05_03, IMG_BREATHING_BREATHE_DT_06_03, IMG_BREATHING_BREATHE_DT_07_03,
IMG_BREATHING_BREATHE_DT_08_03, IMG_BREATHING_BREATHE_DT_09_03, IMG_BREATHING_BREATHE_DT_10_03,
IMG_BREATHING_BREATHE_DT_11_03, IMG_BREATHING_BREATHE_DT_12_03, IMG_BREATHING_BREATHE_DT_13_03,
IMG_BREATHING_BREATHE_DT_14_03, IMG_BREATHING_BREATHE_DT_15_03, IMG_BREATHING_BREATHE_DT_16_03,
};
int pic_count = 0; // 当前动画帧
bool breatheFlag = false; // 吸气状态标记
bool trainingFinished = false; // 训练结束标记
static uint32_t lastTime_ = 0;
static OHOS::GraphicTimer *breathingTimer_ = nullptr; // breathing timer
static OHOS::ImageInfo *g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_COUNT]{nullptr};
static OHOS::ImageInfo *g_pv_animatorInfo1_[INHALE_ANIMATOR_COUNT];
static OHOS::ImageInfo *g_pv_animatorInfo2_[EXHALE_ANIMATOR_COUNT];
static OHOS::ImageAnimatorInfo g_imageAnimatorInfo[20];
static TjdUiAppBreathingView *g_pv_AppBreathingView = nullptr;
static int8_t status_ = 0;
static int8_t model_to_status = 1;
static int8_t value = 0;
static int8_t mins = 1;
static int8_t change1_ = 0;
// static int8_t hr_num_ =0;
bool BreathUIScrollView::OnDragStartEvent(const OHOS::DragEvent &event)
{
if (TjdUiAppBreathingView::GetInstance()->GetCurrentView() != BreathingViewIndex::BREATHING_CHOOSE_VIEW) {
return true;
}
isOnStart_ = true;
return OHOS::UIScrollViewNested::OnDragStartEvent(event);
}
bool BreathUIScrollView::OnDragEvent(const OHOS::DragEvent &event)
{
if (!isOnStart_) {
return true;
}
if (TjdUiAppBreathingView::GetInstance()->GetCurrentView() != BreathingViewIndex::BREATHING_CHOOSE_VIEW) {
return true;
}
return OHOS::UIScrollViewNested::OnDragEvent(event);
}
bool BreathUIScrollView::OnDragEndEvent(const OHOS::DragEvent &event)
{
if (!isOnStart_) {
return true;
}
isOnStart_ = false;
if (TjdUiAppBreathingView::GetInstance()->GetCurrentView() != BreathingViewIndex::BREATHING_CHOOSE_VIEW) {
return true;
}
return OHOS::UIScrollViewNested::OnDragEndEvent(event);
}
TjdUiAppBreathingView::TjdUiAppBreathingView()
{
if (IF_MEM_CHECK)
OHOS::MemCheck::GetInstance()->EnableLeakCheck(true);
g_pv_AppBreathingView = this;
}
TjdUiAppBreathingView::~TjdUiAppBreathingView()
{
if (IF_MEM_CHECK)
OHOS::MemCheck::GetInstance()->EnableLeakCheck(false);
g_pv_AppBreathingView = nullptr;
}
TjdUiAppBreathingView *TjdUiAppBreathingView::GetInstance(void) { return g_pv_AppBreathingView; }
void TjdUiAppBreathingView::OnStart()
{
View<TjdUiAppBreathingPresenter>::OnStart();
InitBreathingImage();
if (containerAll_ == nullptr) {
containerAll_ = new BreathUIScrollView();
}
containerAll_->SetPosition(0, 0, OHOS::HORIZONTAL_RESOLUTION, OHOS::VERTICAL_RESOLUTION);
breathingView[BreathingViewIndex::BREATHING_CHOOSE_VIEW] = InitBreathingChooseView();
breathingView[BreathingViewIndex::BREATHING_TIME_VIEW] = InitBreathingTimeView();
breathingView[BreathingViewIndex::BREATHING_MODEL_VIEW] = InitBreathingModelView();
breathingView[BreathingViewIndex::BREATHING_START_VIEW] = InitBreathingStartView();
breathingView[BreathingViewIndex::BREATHING_ANIMATOR_VIEW] = InitBreathingAnimationView();
breathingView[BreathingViewIndex::BREATHING_FINISH_VIEW] = InitBreathingTrainingFinishedView();
containerAll_->Add(breathingView[BreathingViewIndex::BREATHING_CHOOSE_VIEW]);
containerAll_->Add(breathingView[BreathingViewIndex::BREATHING_TIME_VIEW]);
containerAll_->Add(breathingView[BreathingViewIndex::BREATHING_MODEL_VIEW]);
containerAll_->Add(breathingView[BreathingViewIndex::BREATHING_START_VIEW]);
containerAll_->Add(breathingView[BreathingViewIndex::BREATHING_ANIMATOR_VIEW]);
containerAll_->Add(breathingView[BreathingViewIndex::BREATHING_FINISH_VIEW]);
AddViewToRootContainer(containerAll_);
}
void TjdUiAppBreathingView::OnStop()
{
if (backgroundBreathing_ != nullptr) {
backgroundBreathing_->Stop();
}
if (timerbreath1_ != nullptr) {
timerbreath1_->Stop();
delete timerbreath1_;
timerbreath1_ = nullptr;
}
if (animator_ != nullptr) {
animator_->Stop();
delete animator_;
animator_ = nullptr;
}
ImageCacheManager::GetInstance().UnloadAllInMultiRes(BREATHING_IMAGE_BIN_PATH);
TjdUiMemManage::DeleteChildren(containerAll_);
RemoveAll();
}
void TjdUiAppBreathingView::ShowView(BreathingViewIndex hideView, BreathingViewIndex showView)
{
if (breathingView[hideView] != nullptr) {
if (hideView == BreathingViewIndex::BREATHING_ANIMATOR_VIEW) {
animator_->Stop();
auto imageinfo = OHOS::ImageCacheManager::GetInstance().LoadOneInMultiRes(IMG_BREATHING_BREATHE_DT_05_03,
BREATHING_IMAGE_BIN_PATH);
if (imageinfo != nullptr)
imageBreathing_->SetSrc(imageinfo);
TjdUiScreenManage::ResetScreenKeepOnTimeout();
} else if (hideView == BreathingViewIndex::BREATHING_CHOOSE_VIEW) {
if (backgroundBreathing_ != nullptr) {
backgroundBreathing_->Stop();
}
}
breathingView[hideView]->SetVisible(false);
}
if (breathingView[showView] != nullptr) {
if (showView == BreathingViewIndex::BREATHING_ANIMATOR_VIEW) {
pic_count = 0;
breatheFlag = false;
lastTime_ = HALTick::GetInstance().GetTime();
TjdUiScreenManage::SetScreenKeepOnTimeout(1000 * 60 * 60);
} else if (showView == BreathingViewIndex::BREATHING_CHOOSE_VIEW) {
if (backgroundBreathing_ != nullptr) {
backgroundBreathing_->Start();
}
}
breathingView[showView]->SetVisible(true);
currentView_ = showView;
}
}
void TjdUiAppBreathingView::InitBreathingImage()
{
g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_TIME] =
OHOS::ImageCacheManager::GetInstance().LoadOneInMultiRes(IMG_BREATHING_BREATHING_TIME,
BREATHING_IMAGE_BIN_PATH);
g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_MODEL] =
OHOS::ImageCacheManager::GetInstance().LoadOneInMultiRes(IMG_BREATHING_BREATHING_SET, BREATHING_IMAGE_BIN_PATH);
g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_START] =
OHOS::ImageCacheManager::GetInstance().LoadOneInMultiRes(IMG_BREATHING_BREATHING_CH, BREATHING_IMAGE_BIN_PATH);
g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_NOT_SELECT] =
OHOS::ImageCacheManager::GetInstance().LoadOneInMultiRes(IMG_BREATHING_BREATHING_NOT_SELECTED,
BREATHING_IMAGE_BIN_PATH);
g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_SELECT] =
OHOS::ImageCacheManager::GetInstance().LoadOneInMultiRes(IMG_BREATHING_BREATHING_SELECTED,
BREATHING_IMAGE_BIN_PATH);
g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_BACKGROUND_START] =
OHOS::ImageCacheManager::GetInstance().LoadOneInMultiRes(IMG_BREATHING_BREATHE_DT_10_03,
BREATHING_IMAGE_BIN_PATH);
g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_HEART] =
OHOS::ImageCacheManager::GetInstance().LoadOneInMultiRes(IMG_BREATHING_BREATHING_HEART,
BREATHING_IMAGE_BIN_PATH);
ImageCacheManager &imgManager = ImageCacheManager::GetInstance();
for (uint8_t i = 0; i < sizeof(HaleAnimatorId) / sizeof(HaleAnimatorId[0]); i++) {
auto imgInfo = imgManager.LoadOneInMultiRes(HaleAnimatorId[i], BREATHING_IMAGE_BIN_PATH);
g_imageAnimatorInfo[i].imageInfo = imgInfo;
g_imageAnimatorInfo[i].pos = {89, 100};
g_imageAnimatorInfo[i].width = 267;
g_imageAnimatorInfo[i].height = 264;
g_imageAnimatorInfo[i].imageType = IMG_SRC_IMAGE_INFO;
}
for (int j = 0; j < EXHALE_ANIMATOR_COUNT; j++) {
g_pv_animatorInfo1_[j] = imgManager.LoadOneInMultiRes(InhaleAnimatorId[j], BREATHING_IMAGE_BIN_PATH);
}
for (int k = 0; k < EXHALE_ANIMATOR_COUNT; k++) {
g_pv_animatorInfo2_[k] = imgManager.LoadOneInMultiRes(ExhaleAnimatorId[k], BREATHING_IMAGE_BIN_PATH);
}
}
void TjdUiAppBreathingView::Changestatus()
{
printf("Changestatus\n");
value -= 1;
std::string text = std::to_string(value) + "s";
lblLabel3_->SetText(text.c_str());
if (value <= 0) {
timerbreath1_->Stop();
delete timerbreath1_;
timerbreath1_ = nullptr;
}
}
void TjdUiAppBreathingView::StopAnimator(int8_t heartrateval)
{
TjdUiAppBreathingView::GetInstance()->ShowView(BreathingViewIndex::BREATHING_ANIMATOR_VIEW,
BreathingViewIndex::BREATHING_FINISH_VIEW);
lblLabel3_->SetText("3s");
if (heartrateval < 100) {
lblLabel6_->SetPosition(248, 247);
} else {
lblLabel6_->SetPosition(265, 247);
}
std::string text_ = std::to_string(heartrateval);
lblHeart_->SetText(text_.c_str());
// imageAnimatorinhale_->Stop();
// imageAnimatorinhale_->SetVisible(false);
// breathingTimer_->Stop();
animator_->Stop();
}
void TimerCallback1_(void *param)
{
printf("TimerCallback1_\n");
TjdUiAppBreathingView::GetInstance()->Changestatus();
}
void TjdUiAppBreathingView::ChooseModel()
{
// if(model_to_status==1)
// {
// imageAnimatorinhale_->SetImageAnimatorSrc(g_pv_animatorInfo3_, HALE_ANIMATOR_COUNT, 300);
// }
// if(model_to_status==2)
// {
// imageAnimatorinhale_->SetImageAnimatorSrc(g_pv_animatorInfo3_, HALE_ANIMATOR_COUNT, 400);
// }
// if(model_to_status==3)
// {
// imageAnimatorinhale_->SetImageAnimatorSrc(g_pv_animatorInfo2_, EXHALE_ANIMATOR_COUNT, 300);
// }
}
void TjdUiAppBreathingView::StartTime(int val, int status)
{
value = val;
status_ = status;
lblLabel3_->SetText("3s");
if (timerbreath1_ == nullptr) {
timerbreath1_ = new OHOS::GraphicTimer(1000, TimerCallback1_, nullptr, true);
}
timerbreath1_->Start();
}
void TjdUiAppBreathingView::GetNum(int val, int status)
{
lblLabel3_->SetText("3s");
value = val;
status_ = status;
}
void TjdUiAppBreathingView::StartAnimator()
{
lblLabel4_->SetTextId(STR_ID_133);
TjdUiAppBreathingView::GetInstance()->ShowView(BreathingViewIndex::BREATHING_START_VIEW,
BreathingViewIndex::BREATHING_ANIMATOR_VIEW);
// imageAnimatorinhale_->SetVisible(true);
// imageAnimatorinhale_->Start();
// breathingTimer_->Start();
animator_->Start();
}
void TjdUiAppBreathingView::ChangeLabel1()
{
lblLabel4_->SetTextId(STR_ID_134);
// TjdUiUtils::AutoAlignHorizontalCenter(*lblLabel4_);
breatheFlag = true;
pic_count = 0;
}
void TjdUiAppBreathingView::ChangeLabel2()
{
// lblLabel4_->SetText("吸气");
lblLabel4_->SetTextId(STR_ID_133);
// TjdUiUtils::AutoAlignHorizontalCenter(*lblLabel4_);
breatheFlag = false;
pic_count = 0;
}
void TjdUiAppBreathingView::Addselect(int statu)
{
if (statu == 1) {
lblLabel1_->SetText("1min");
mins = 1;
notselectBreathing1_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_SELECT]);
notselectBreathing2_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_NOT_SELECT]);
notselectBreathing3_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_NOT_SELECT]);
lblAllTimes_->SetText("01 : 00");
} else if (statu == 2) {
lblLabel1_->SetText("2min");
mins = 2;
notselectBreathing1_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_NOT_SELECT]);
notselectBreathing2_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_SELECT]);
notselectBreathing3_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_NOT_SELECT]);
lblAllTimes_->SetText("02 : 00");
} else if (statu == 3) {
lblLabel1_->SetText("3min");
mins = 3;
notselectBreathing1_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_NOT_SELECT]);
notselectBreathing2_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_NOT_SELECT]);
notselectBreathing3_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_SELECT]);
lblAllTimes_->SetText("03 : 00");
} else if (statu == 4) {
lblLabel2_->SetTextId(STR_ID_131);
model_to_status = 2;
notselectBreathing4_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_SELECT]);
notselectBreathing5_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_NOT_SELECT]);
notselectBreathing6_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_NOT_SELECT]);
} else if (statu == 5) {
lblLabel2_->SetTextId(STR_ID_128);
model_to_status = 1;
notselectBreathing4_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_NOT_SELECT]);
notselectBreathing5_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_SELECT]);
notselectBreathing6_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_NOT_SELECT]);
} else if (statu == 6) {
lblLabel2_->SetTextId(STR_ID_132);
model_to_status = 3;
notselectBreathing4_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_NOT_SELECT]);
notselectBreathing5_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_NOT_SELECT]);
notselectBreathing6_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_SELECT]);
}
}
OHOS::UIScrollView *TjdUiAppBreathingView::InitBreathingChooseView()
{
OHOS::UIScrollView *breathingChooseUiView = new OHOS::UIScrollView();
breathingChooseUiView->SetPosition(0, 0, 466, 466);
breathingChooseUiView->SetOnClickListener(TjdUiAppBreathingPresenter::GetInstance());
if (OHOS::PageTransitionMgr::GetInstance().GetTopSlideBackImage() == nullptr) {
breathingChooseUiView->SetOnDragListener(TjdUiAppBreathingPresenter::GetInstance());
}
if (lblBreathingchoosehead_ == nullptr) {
lblBreathingchoosehead_ = new UILabelExt();
}
lblBreathingchoosehead_->SetFont(TJD_VECTOR_FONT_FILENAME, 28);
// lblBreathingchoosehead_->SetText("呼吸训练");
lblBreathingchoosehead_->SetTextId(STR_ID_04);
// lblBreathingchoosehead_->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
lblBreathingchoosehead_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
lblBreathingchoosehead_->SetPosition(0, 18, 466, 37);
if (timeBreathing_ == nullptr) {
timeBreathing_ = new OHOS::UIImageView();
}
timeBreathing_->SetPosition(27 - 20, 207 - 20, 52, 52);
timeBreathing_->SetViewId(TIMEBREATHING_ID);
timeBreathing_->SetTouchable(true);
timeBreathing_->SetStyle(STYLE_BORDER_WIDTH, 20);
timeBreathing_->SetOnClickListener(TjdUiAppBreathingPresenter::GetInstance());
if (g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_TIME] != nullptr) {
timeBreathing_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_TIME]);
}
if (modelBreathing_ == nullptr) {
modelBreathing_ = new OHOS::UIImageView();
}
modelBreathing_->SetPosition(392 - 20, 207 - 20, 52, 52);
modelBreathing_->SetViewId(MODELBREATHING_ID);
modelBreathing_->SetTouchable(true);
modelBreathing_->SetStyle(STYLE_BORDER_WIDTH, 20);
modelBreathing_->SetOnClickListener(TjdUiAppBreathingPresenter::GetInstance());
if (g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_MODEL] != nullptr) {
modelBreathing_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_MODEL]);
}
if (backgroundBreathing_ == nullptr) {
backgroundBreathing_ = new OHOS::UIImageAnimatorView();
}
backgroundBreathing_->SetPosition(89, 100, 267, 264);
backgroundBreathing_->SetViewId(STARTBACKGROUND_ID);
backgroundBreathing_->SetTouchable(true);
backgroundBreathing_->SetOnClickListener(TjdUiAppBreathingPresenter::GetInstance());
backgroundBreathing_->SetImageAnimatorSrc(g_imageAnimatorInfo, sizeof(HaleAnimatorId) / sizeof(HaleAnimatorId[0]),
200);
backgroundBreathing_->Start();
if (startBreathing_ == nullptr) {
startBreathing_ = new OHOS::UIImageView();
}
startBreathing_->SetPosition(187, 352, 92, 92);
startBreathing_->SetViewId(STARTBREATHING_ID);
startBreathing_->SetTouchable(true);
startBreathing_->SetOnClickListener(TjdUiAppBreathingPresenter::GetInstance());
if (g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_START] != nullptr) {
startBreathing_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_START]);
}
if (lblLabel1_ == nullptr) {
lblLabel1_ = new UILabel();
}
lblLabel1_->SetFont(TJD_VECTOR_FONT_FILENAME, 28);
lblLabel1_->SetText("1min");
lblLabel1_->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
lblLabel1_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
lblLabel1_->SetPosition(24, 274);
if (lblLabel2_ == nullptr) {
lblLabel2_ = new UILabelExt();
}
lblLabel2_->SetFont(TJD_VECTOR_FONT_FILENAME, 28);
// lblLabel2_->SetText("常规");
lblLabel2_->SetTextId(STR_ID_128);
lblLabel2_->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);
lblLabel2_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
lblLabel2_->SetPosition(380, 273, 60, 37);
breathingChooseUiView->Add(lblBreathingchoosehead_);
breathingChooseUiView->Add(timeBreathing_);
breathingChooseUiView->Add(modelBreathing_);
breathingChooseUiView->Add(backgroundBreathing_);
breathingChooseUiView->Add(startBreathing_);
breathingChooseUiView->Add(lblLabel1_);
breathingChooseUiView->Add(lblLabel2_);
breathingChooseUiView->SetVisible(true);
return breathingChooseUiView;
}
OHOS::UIScrollView *TjdUiAppBreathingView::InitBreathingTimeView()
{
OHOS::UIScrollView *breathingTimeUiView = new OHOS::UIScrollView();
breathingTimeUiView->SetPosition(0, 0, 466, 466);
breathingTimeUiView->SetOnDragListener(TjdUiAppBreathingPresenter::GetInstance());
breathingTimeUiView->SetViewId(TIME_VIEW_ID);
if (lblTimehead_ == nullptr) {
lblTimehead_ = new UILabelExt();
}
lblTimehead_->SetFont(TJD_VECTOR_FONT_FILENAME, 28);
// lblTimehead_->SetText("分钟");
lblTimehead_->SetTextId(STR_ID_129);
lblTimehead_->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
lblTimehead_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
lblTimehead_->SetPosition(0, 18, 466, 37);
if (labelButton1_ == nullptr) {
labelButton1_ = new UILabelButtonExt();
}
labelButton1_->SetPosition(70, 68);
labelButton1_->Resize(326, 93);
labelButton1_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff202020);
labelButton1_->SetTextId(STR_ID_129);
std::string str = std::string("1 ") + std::string(FontGlobalManager::GetInstance()->GetText(STR_ID_129));
labelButton1_->SetText(str.c_str());
labelButton1_->SetAlign(TEXT_ALIGNMENT_LEFT);
labelButton1_->SetLabelPosition(43, 0);
labelButton1_->SetFont(TJD_VECTOR_FONT_FILENAME, 38);
labelButton1_->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff0b1928, UIButton::PRESSED);
labelButton1_->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);
labelButton1_->SetTouchable(false);
if (labelButton2_ == nullptr) {
labelButton2_ = new UILabelButtonExt();
}
labelButton2_->SetPosition(8, 169);
labelButton2_->Resize(450, 128);
labelButton2_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff202020);
labelButton2_->SetTextId(STR_ID_129);
str = std::string("2 ") + std::string(FontGlobalManager::GetInstance()->GetText(STR_ID_129));
labelButton2_->SetText(str.c_str());
labelButton2_->SetAlign(TEXT_ALIGNMENT_LEFT);
labelButton2_->SetLabelPosition(42, 0);
labelButton2_->SetFont(TJD_VECTOR_FONT_FILENAME, 38);
labelButton2_->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff0b1928, UIButton::PRESSED);
labelButton2_->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);
labelButton2_->SetTouchable(false);
if (labelButton3_ == nullptr) {
labelButton3_ = new UILabelButtonExt();
}
labelButton3_->SetPosition(70, 305);
labelButton3_->Resize(326, 93);
labelButton3_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff202020);
// labelButton3_->SetText("3分钟");
str = std::string("3 ") + std::string(FontGlobalManager::GetInstance()->GetText(STR_ID_129));
labelButton3_->SetText(str.c_str());
labelButton3_->SetAlign(TEXT_ALIGNMENT_LEFT);
labelButton3_->SetLabelPosition(43, 0);
labelButton3_->SetFont(TJD_VECTOR_FONT_FILENAME, 38);
labelButton3_->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff0b1928, UIButton::PRESSED);
labelButton3_->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);
labelButton3_->SetTouchable(false);
if (notselectBreathing1_ == nullptr) {
notselectBreathing1_ = new OHOS::UIImageView();
}
notselectBreathing1_->SetPosition(337 - 30, 97 - 25, 36, 36);
notselectBreathing1_->SetStyle(STYLE_BORDER_WIDTH, 25);
notselectBreathing1_->SetStyle(STYLE_BORDER_OPA, 0);
notselectBreathing1_->SetViewId(TIME_LABEL1_ID);
notselectBreathing1_->SetTouchable(true);
notselectBreathing1_->SetOnClickListener(TjdUiAppBreathingPresenter::GetInstance());
if (g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_SELECT] != nullptr) {
notselectBreathing1_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_SELECT]);
}
if (notselectBreathing2_ == nullptr) {
notselectBreathing2_ = new OHOS::UIImageView();
}
notselectBreathing2_->SetPosition(380 - 30, 215 - 25, 36, 36);
notselectBreathing2_->SetStyle(STYLE_BORDER_WIDTH, 25);
notselectBreathing2_->SetStyle(STYLE_BORDER_OPA, 0);
notselectBreathing2_->SetViewId(TIME_LABEL2_ID);
notselectBreathing2_->SetTouchable(true);
notselectBreathing2_->SetOnClickListener(TjdUiAppBreathingPresenter::GetInstance());
if (g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_NOT_SELECT] != nullptr) {
notselectBreathing2_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_NOT_SELECT]);
}
if (notselectBreathing3_ == nullptr) {
notselectBreathing3_ = new OHOS::UIImageView();
}
notselectBreathing3_->SetPosition(337 - 30, 333 - 25, 36, 36);
notselectBreathing3_->SetStyle(STYLE_BORDER_WIDTH, 25);
notselectBreathing3_->SetStyle(STYLE_BORDER_OPA, 0);
notselectBreathing3_->SetViewId(TIME_LABEL3_ID);
notselectBreathing3_->SetTouchable(true);
notselectBreathing3_->SetOnClickListener(TjdUiAppBreathingPresenter::GetInstance());
if (g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_NOT_SELECT] != nullptr) {
notselectBreathing3_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_NOT_SELECT]);
}
breathingTimeUiView->Add(lblTimehead_);
breathingTimeUiView->Add(labelButton1_);
breathingTimeUiView->Add(labelButton2_);
breathingTimeUiView->Add(labelButton3_);
breathingTimeUiView->Add(notselectBreathing1_);
breathingTimeUiView->Add(notselectBreathing2_);
breathingTimeUiView->Add(notselectBreathing3_);
breathingTimeUiView->SetVisible(false);
return breathingTimeUiView;
}
OHOS::UIScrollView *TjdUiAppBreathingView::InitBreathingModelView()
{
OHOS::UIScrollView *breathingModelUiView = new OHOS::UIScrollView();
breathingModelUiView->SetPosition(0, 0, 466, 466);
breathingModelUiView->SetOnDragListener(TjdUiAppBreathingPresenter::GetInstance());
breathingModelUiView->SetViewId(MODEL_VIEW_ID);
if (lblModelhead_ == nullptr) {
lblModelhead_ = new UILabelExt();
}
lblModelhead_->SetFont(TJD_VECTOR_FONT_FILENAME, 28);
// lblModelhead_->SetText("模式");
lblModelhead_->SetTextId(STR_ID_130);
lblModelhead_->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
lblModelhead_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
lblModelhead_->SetPosition(209, 18);
if (labelButton4_ == nullptr) {
labelButton4_ = new UILabelButtonExt();
}
labelButton4_->SetPosition(70, 69);
labelButton4_->Resize(326, 92);
labelButton4_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff202020);
// labelButton4_->SetText("稍慢");
labelButton4_->SetTextId(STR_ID_131);
labelButton4_->SetAlign(TEXT_ALIGNMENT_LEFT);
labelButton4_->SetLabelPosition(31, 0);
labelButton4_->SetFont(TJD_VECTOR_FONT_FILENAME, 36);
labelButton4_->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff0b1928, UIButton::PRESSED);
labelButton4_->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);
labelButton4_->SetTouchable(false);
if (labelButton5_ == nullptr) {
labelButton5_ = new UILabelButtonExt();
}
labelButton5_->SetPosition(8, 169);
labelButton5_->Resize(450, 128);
labelButton5_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff202020);
// labelButton5_->SetText("常规");
labelButton5_->SetTextId(STR_ID_128);
labelButton5_->SetAlign(TEXT_ALIGNMENT_LEFT);
labelButton5_->SetLabelPosition(42, 0);
labelButton5_->SetFont(TJD_VECTOR_FONT_FILENAME, 38);
labelButton5_->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff0b1928, UIButton::PRESSED);
labelButton5_->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);
labelButton5_->SetTouchable(false);
if (labelButton6_ == nullptr) {
labelButton6_ = new UILabelButtonExt();
}
labelButton6_->SetPosition(70, 305);
labelButton6_->Resize(326, 93);
labelButton6_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff202020);
// labelButton6_->SetText("稍快");
labelButton6_->SetTextId(STR_ID_132);
labelButton6_->SetAlign(TEXT_ALIGNMENT_LEFT);
labelButton6_->SetLabelPosition(31, 0);
labelButton6_->SetFont(TJD_VECTOR_FONT_FILENAME, 36);
labelButton6_->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff0b1928, UIButton::PRESSED);
labelButton6_->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);
labelButton6_->SetTouchable(false);
if (notselectBreathing4_ == nullptr) {
notselectBreathing4_ = new OHOS::UIImageView();
}
notselectBreathing4_->SetPosition(337 - 30, 97 - 25, 36, 36);
notselectBreathing4_->SetStyle(STYLE_BORDER_WIDTH, 25);
notselectBreathing4_->SetStyle(STYLE_BORDER_OPA, 0);
// notselectBreathing4_->SetStyle(STYLE_BORDER_COLOR, 0xff202020);
notselectBreathing4_->SetViewId(MODEL_LABEL1_ID);
notselectBreathing4_->SetTouchable(true);
notselectBreathing4_->SetOnClickListener(TjdUiAppBreathingPresenter::GetInstance());
if (g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_NOT_SELECT] != nullptr) {
notselectBreathing4_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_NOT_SELECT]);
}
if (notselectBreathing5_ == nullptr) {
notselectBreathing5_ = new OHOS::UIImageView();
}
notselectBreathing5_->SetPosition(380 - 30, 215 - 25, 36, 36);
notselectBreathing5_->SetStyle(STYLE_BORDER_WIDTH, 25);
notselectBreathing5_->SetStyle(STYLE_BORDER_OPA, 0);
// notselectBreathing5_->SetStyle(STYLE_BORDER_COLOR, 0xff202020);
notselectBreathing5_->SetViewId(MODEL_LABEL2_ID);
notselectBreathing5_->SetTouchable(true);
notselectBreathing5_->SetOnClickListener(TjdUiAppBreathingPresenter::GetInstance());
if (g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_SELECT] != nullptr) {
notselectBreathing5_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_SELECT]);
}
if (notselectBreathing6_ == nullptr) {
notselectBreathing6_ = new OHOS::UIImageView();
}
notselectBreathing6_->SetPosition(337 - 30, 333 - 25, 36, 36);
notselectBreathing6_->SetStyle(STYLE_BORDER_WIDTH, 25);
notselectBreathing6_->SetStyle(STYLE_BORDER_OPA, 0);
// notselectBreathing6_->SetStyle(STYLE_BORDER_COLOR, 0xff202020);
notselectBreathing6_->SetViewId(MODEL_LABEL3_ID);
notselectBreathing6_->SetTouchable(true);
notselectBreathing6_->SetOnClickListener(TjdUiAppBreathingPresenter::GetInstance());
if (g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_NOT_SELECT] != nullptr) {
notselectBreathing6_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_NOT_SELECT]);
}
breathingModelUiView->Add(lblModelhead_);
breathingModelUiView->Add(labelButton4_);
breathingModelUiView->Add(labelButton5_);
breathingModelUiView->Add(labelButton6_);
breathingModelUiView->Add(notselectBreathing4_);
breathingModelUiView->Add(notselectBreathing5_);
breathingModelUiView->Add(notselectBreathing6_);
breathingModelUiView->SetVisible(false);
return breathingModelUiView;
}
OHOS::UIScrollView *TjdUiAppBreathingView::InitBreathingStartView()
{
OHOS::UIScrollView *breathingStartUiView = new OHOS::UIScrollView();
breathingStartUiView->SetPosition(0, 0, 466, 466);
breathingStartUiView->SetOnDragListener(TjdUiAppBreathingPresenter::GetInstance());
if (backgroundStart_ == nullptr) {
backgroundStart_ = new OHOS::UIImageView();
}
backgroundStart_->SetPosition(99, 101, 267, 264);
backgroundStart_->SetViewId(STARTVIEW_ID);
backgroundStart_->SetOnDragListener(TjdUiAppBreathingPresenter::GetInstance());
if (g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_BACKGROUND_START] != nullptr) {
backgroundStart_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_BACKGROUND_START]);
}
if (lblLabel3_ == nullptr) {
lblLabel3_ = new UILabel();
}
lblLabel3_->SetFont(TJD_VECTOR_FONT_FILENAME, 50);
lblLabel3_->SetText("3s");
lblLabel3_->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
lblLabel3_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
lblLabel3_->SetPosition(206, 379);
breathingStartUiView->Add(backgroundStart_);
breathingStartUiView->Add(lblLabel3_);
breathingStartUiView->SetVisible(false);
return breathingStartUiView;
}
void BrethingAnimatorCallback::Callback(OHOS::UIView *view)
{
uint32_t diffTime = 0;
switch (model_to_status) {
case 1:
switch (breatheFlag) {
case 0:
diffTime = HALTick::GetInstance().GetTime() - lastTime_;
if (diffTime >= 450) {
lastTime_ = HALTick::GetInstance().GetTime();
TjdUiAppBreathingView::GetInstance()->SetBreathingImage(g_pv_animatorInfo1_[pic_count]);
pic_count++;
// printf("line = %d ,cxin is test diffTime = %d ==pic_count=%d\n", __LINE__, diffTime, pic_count);
}
break;
case 1:
diffTime = HALTick::GetInstance().GetTime() - lastTime_;
if (diffTime >= 300) {
lastTime_ = HALTick::GetInstance().GetTime();
TjdUiAppBreathingView::GetInstance()->SetBreathingImage(g_pv_animatorInfo2_[pic_count]);
pic_count++;
// printf("line = %d ,cxin is test diffTime = %d ==pic_count=%d\n", __LINE__, diffTime, pic_count);
}
break;
default:
break;
}
break;
case 2:
switch (breatheFlag) {
case 0:
diffTime = HALTick::GetInstance().GetTime() - lastTime_;
if (diffTime >= 600) {
lastTime_ = HALTick::GetInstance().GetTime();
TjdUiAppBreathingView::GetInstance()->SetBreathingImage(g_pv_animatorInfo1_[pic_count]);
pic_count++;
// printf("line = %d ,cxin is test diffTime = %d ==pic_count=%d\n", __LINE__, diffTime, pic_count);
}
break;
case 1:
diffTime = HALTick::GetInstance().GetTime() - lastTime_;
if (diffTime >= 400) {
lastTime_ = HALTick::GetInstance().GetTime();
TjdUiAppBreathingView::GetInstance()->SetBreathingImage(g_pv_animatorInfo2_[pic_count]);
pic_count++;
// printf("line = %d ,cxin is test diffTime = %d ==pic_count=%d\n", __LINE__, diffTime, pic_count);
}
break;
default:
break;
}
break;
case 3:
switch (breatheFlag) {
case 0:
diffTime = HALTick::GetInstance().GetTime() - lastTime_;
if (diffTime >= 300) {
lastTime_ = HALTick::GetInstance().GetTime();
TjdUiAppBreathingView::GetInstance()->SetBreathingImage(g_pv_animatorInfo1_[pic_count]);
pic_count++;
// printf("line = %d ,cxin is test diffTime = %d ==pic_count=%d\n", __LINE__, diffTime, pic_count);
}
break;
case 1:
diffTime = HALTick::GetInstance().GetTime() - lastTime_;
if (diffTime >= 300) {
lastTime_ = HALTick::GetInstance().GetTime();
TjdUiAppBreathingView::GetInstance()->SetBreathingImage(g_pv_animatorInfo2_[pic_count]);
pic_count++;
// printf("line = %d ,cxin is test diffTime = %d ==pic_count=%d\n", __LINE__, diffTime, pic_count);
}
break;
default:
break;
}
break;
default:
break;
}
}
void TjdUiAppBreathingView::SetBreathingImage(OHOS::ImageInfo *imageInfo) { imageBreathing_->SetSrc(imageInfo); }
OHOS::UIScrollView *TjdUiAppBreathingView::InitBreathingAnimationView()
{
OHOS::UIScrollView *breathingAnimationUiView = new OHOS::UIScrollView();
breathingAnimationUiView->SetPosition(0, 0, 466, 466);
breathingAnimationUiView->SetOnDragListener(TjdUiAppBreathingPresenter::GetInstance());
if (lblLabel4_ == nullptr) {
lblLabel4_ = new UILabelExt();
}
lblLabel4_->SetFont(TJD_VECTOR_FONT_FILENAME, 34);
// lblLabel4_->SetText("吸气");
lblLabel4_->SetTextId(STR_ID_133);
// lblLabel4_->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
lblLabel4_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
lblLabel4_->SetPosition(0, 391, 466, 45);
// if (imageAnimatorinhale_ == nullptr) {
// imageAnimatorinhale_ = new OHOS::UIImageAnimatorView();
// }
// imageAnimatorinhale_->SetPosition(111, 60, 272, 281);
// imageAnimatorinhale_->SetVisible(true);
// imageAnimatorinhale_->SetImageAnimatorSrc(g_pv_animatorInfo3_, HALE_ANIMATOR_COUNT, 300);
// // imageAnimatorinhale_->Start();
// breathingAnimationUiView->Add(imageAnimatorinhale_);
// if (imageBreathing_ == nullptr) {
// imageBreathing_ = new OHOS::UIImageView();
// }
// imageBreathing_->SetPosition(60, 60);
// auto imageinfo = OHOS::ImageCacheManager::GetInstance().LoadOneInMultiRes(IMG_BREATHING_DT_01_03,
// BREATHING_IMAGE_BIN_PATH); if(imageinfo != nullptr)
// imageBreathing_->SetSrc(imageinfo);
// if (breathingTimer_ == nullptr) {
// breathingTimer_ = new OHOS::GraphicTimer(225, BreathingTimerCallBack, nullptr, true);
// }
// breathingAnimationUiView->Add(imageBreathing_);
canvas_.SetPosition(0, 0, 466, 466);
canvas_.SetStyle(OHOS::STYLE_BACKGROUND_OPA, OHOS::OPA_OPAQUE);
breathingAnimationUiView->Add(&canvas_);
if (imageBreathing_ == nullptr) {
imageBreathing_ = new OHOS::UIImageView();
}
imageBreathing_->SetPosition(99, 101, 267, 264);
auto imageinfo = OHOS::ImageCacheManager::GetInstance().LoadOneInMultiRes(IMG_BREATHING_BREATHE_DT_10_03,
BREATHING_IMAGE_BIN_PATH);
if (imageinfo != nullptr)
imageBreathing_->SetSrc(imageinfo);
breathingAnimationUiView->Add(imageBreathing_);
callBack_ = new BrethingAnimatorCallback();
animator_ = new Animator(callBack_, &canvas_, 0, true);
breathingAnimationUiView->Add(lblLabel4_);
breathingAnimationUiView->SetVisible(false);
return breathingAnimationUiView;
}
OHOS::UIViewGroup *TjdUiAppBreathingView::InitBreathingAnotherAnimationView()
{
OHOS::UIViewGroup *breathingAnotherUiView = new OHOS::UIViewGroup();
breathingAnotherUiView->SetPosition(0, 0, 466, 466);
breathingAnotherUiView->SetOnDragListener(TjdUiAppBreathingPresenter::GetInstance());
// if (lblLabel5_ == nullptr) {
// lblLabel5_ = new UILabel();
// }
// lblLabel5_->SetFont(TJD_VECTOR_FONT_FILENAME, 34);
// lblLabel5_->SetText("呼气");
// lblLabel5_->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
// lblLabel5_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
// lblLabel5_->SetPosition(199, 391);
// imageAnimatorexhale_ = new OHOS::UIImageAnimatorView();
// imageAnimatorexhale_->SetPosition(111, 60, 272, 281);
// imageAnimatorexhale_->SetImageAnimatorSrc(g_pv_animatorInfo2_, EXHALE_ANIMATOR_COUNT, 176);
// // imageAnimatorexhale_->Start();
// imageAnimatorexhale_->SetVisible(false);
// breathingAnotherUiView->Add(imageAnimatorexhale_);
// breathingAnotherUiView->Add(lblLabel5_);
// breathingAnotherUiView->SetVisible(false);
return breathingAnotherUiView;
}
OHOS::UIScrollView *TjdUiAppBreathingView::InitBreathingTrainingFinishedView()
{
OHOS::UIScrollView *breathingTrainingFinishedUiView = new OHOS::UIScrollView();
breathingTrainingFinishedUiView->SetPosition(0, 0, 466, 466);
breathingTrainingFinishedUiView->SetOnDragListener(TjdUiAppBreathingPresenter::GetInstance());
if (lblFinishhead_ == nullptr) {
lblFinishhead_ = new UILabelExt();
}
lblFinishhead_->SetFont(TJD_VECTOR_FONT_FILENAME, 36);
// lblFinishhead_->SetText("完成训练");
lblFinishhead_->SetTextId(STR_ID_135);
lblFinishhead_->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);
lblFinishhead_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
lblFinishhead_->SetPosition(161, 28, 142, 47);
if (redHeart_ == nullptr) {
redHeart_ = new OHOS::UIImageView();
}
redHeart_->SetPosition(126, 257, 35, 31);
if (g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_HEART] != nullptr) {
redHeart_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_HEART]);
}
if (lblAllTimes_ == nullptr) {
lblAllTimes_ = new UILabel();
}
lblAllTimes_->SetFont(TJD_VECTOR_FONT_FILENAME, 40);
lblAllTimes_->SetText("01 : 00");
lblAllTimes_->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
lblAllTimes_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
lblAllTimes_->SetStyle(STYLE_TEXT_OPA, OPA_OPAQUE * 0.3);
lblAllTimes_->SetPosition(170, 117);
if (lblHeart_ == nullptr) {
lblHeart_ = new UILabel();
}
lblHeart_->SetFont(TJD_VECTOR_FONT_FILENAME, 50);
lblHeart_->SetText("100");
lblHeart_->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
lblHeart_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
lblHeart_->SetPosition(172, 233);
if (lblLabel6_ == nullptr) {
lblLabel6_ = new UILabel();
}
lblLabel6_->SetFont(TJD_VECTOR_FONT_FILENAME, 30);
lblLabel6_->SetText("bpm");
lblLabel6_->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
lblLabel6_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
lblLabel6_->SetPosition(272, 247);
// enter
if (finishBreathing_ == nullptr) {
finishBreathing_ = new OHOS::UIImageView();
}
finishBreathing_->SetPosition(187, 352, 92, 92);
finishBreathing_->SetViewId(FINISHED_ID);
finishBreathing_->SetTouchable(true);
finishBreathing_->SetOnClickListener(TjdUiAppBreathingPresenter::GetInstance());
if (g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_START] != nullptr) {
finishBreathing_->SetSrc(g_pv_breathingimageInfo[BreathingImageInfoIndex::BREATHING_INFO_START]);
}
if (labelButton7_ == nullptr) {
labelButton7_ = new UIView();
}
labelButton7_->SetPosition(8, 179);
labelButton7_->Resize(450, 128);
labelButton7_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff202020);
labelButton7_->SetStyle(STYLE_BORDER_RADIUS, 64);
// lbAverageHertrate_->SetText("平均心率");
// lbAverageHertrate_->SetTextId(STR_ID_111);
// lbAverageHertrate_->SetAlign(TEXT_ALIGNMENT_LEFT);
// lbAverageHertrate_->SetLabelPosition(149, -49);
// lbAverageHertrate_->SetFont(TJD_VECTOR_FONT_FILENAME, 36);
// lbAverageHertrate_->SetTextColor(OHOS::Color::GetColorFromRGB(0x80, 0x80, 0x80));
if (lbAverageHertrate_ == nullptr) {
lbAverageHertrate_ = new UILabelExt();
}
lbAverageHertrate_->SetFont(TJD_VECTOR_FONT_FILENAME, 36);
lbAverageHertrate_->SetTextId(STR_ID_111);
// lbAverageHertrate_->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
lbAverageHertrate_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
lbAverageHertrate_->SetPosition(0, 191, 466, 47);
lbAverageHertrate_->SetTextColor(OHOS::Color::GetColorFromRGB(0x80, 0x80, 0x80));
if (labelButton8_ == nullptr) {
labelButton8_ = new UIView();
}
labelButton8_->SetPosition(70, 79);
labelButton8_->Resize(326, 92);
labelButton8_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff202020);
labelButton8_->SetStyle(STYLE_BORDER_RADIUS, 46);
// labelButton8_->SetText("平均时间");
// labelButton8_->SetTextId(STR_ID_555);
// labelButton8_->SetAlign(TEXT_ALIGNMENT_LEFT);
// labelButton8_->SetLabelPosition(118, -37);
// labelButton8_->SetFont(TJD_VECTOR_FONT_FILENAME, 24);
// labelButton8_->SetTextColor(OHOS::Color::GetColorFromRGB(0x80, 0x80, 0x80));
// labelButton8_->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff0b1928, UIButton::PRESSED);
// labelButton8_->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);
if (lbAverageTime_ == nullptr) {
lbAverageTime_ = new UILabelExt();
}
lbAverageTime_->SetFont(TJD_VECTOR_FONT_FILENAME, 24);
lbAverageTime_->SetTextId(STR_ID_555);
lbAverageTime_->SetTextColor(OHOS::Color::GetColorFromRGB(0x80, 0x80, 0x80));
// lbAverageTime_->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
lbAverageTime_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
lbAverageTime_->SetPosition(0, 86, 466, 31);
breathingTrainingFinishedUiView->Add(lblFinishhead_);
breathingTrainingFinishedUiView->Add(finishBreathing_);
breathingTrainingFinishedUiView->Add(labelButton7_);
breathingTrainingFinishedUiView->Add(labelButton8_);
breathingTrainingFinishedUiView->Add(lblAllTimes_);
breathingTrainingFinishedUiView->Add(lblHeart_);
breathingTrainingFinishedUiView->Add(lblLabel6_);
breathingTrainingFinishedUiView->Add(redHeart_);
breathingTrainingFinishedUiView->Add(lbAverageHertrate_);
breathingTrainingFinishedUiView->Add(lbAverageTime_);
breathingTrainingFinishedUiView->SetVisible(false);
return breathingTrainingFinishedUiView;
}
} // namespace TJD