From: Caisking <3449750381@qq.com> Date: Mon, 2 Sep 2024 10:48:05 +0000 (+0800) Subject: #191KUMU表盘,时间显示不居中;#461表盘,消息红点提示下面有遮挡,未显示全 X-Git-Tag: release_V1.2.70_20241020_135402~540^2~12 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=8f6de37b5ca7d0ece9b75431ea521e7052ac9625;p=mirrors%2FFD230.git #191KUMU表盘,时间显示不居中;#461表盘,消息红点提示下面有遮挡,未显示全 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/clock/include/MainClockView.h b/code/sdk/application/wearable/fd230app/nativeui/clock/include/MainClockView.h index 7772895eb..7c83d8154 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/clock/include/MainClockView.h +++ b/code/sdk/application/wearable/fd230app/nativeui/clock/include/MainClockView.h @@ -64,8 +64,8 @@ namespace OHOS /*表盘时间配置*/ enum TimeDisplayPosition { - TIME_DISPLAY_ABOVE = 0, // 显示在表盘上方 - TIME_DISPLAY_BELOW, // 显示在表盘下方 + TIME_DISPLAY_BELOW = 0, // 显示在表盘下方 + TIME_DISPLAY_ABOVE, // 显示在表盘上方 TIME_DISPLAY_DEFAULT = TIME_DISPLAY_BELOW // 默认:下方 }; @@ -93,7 +93,7 @@ namespace OHOS /*配置自定义表盘*/ void SetCustomId(int Id); - + /*配置函数*/ bool InitBackground(const char *filename); bool InitTimeView(TimeDisplayPosition type); // 时间 @@ -112,15 +112,18 @@ namespace OHOS /*表盘背景*/ UIImageView *curFace{nullptr}; + /*时间相关*/ UILabel *timerlabel{nullptr}; UILabel *weekLabel{nullptr}; UILabel *datelabel{nullptr}; + /*电量相关*/ UIImageView *batteryiamge{nullptr}; UIBoxProgress *batteryprogress{nullptr}; UILabel *batterylabel{nullptr}; UIImageView *batteryicon{nullptr}; + /*数据相关*/ UILabel *stepLabel{nullptr}; UILabel *heartlabel{nullptr}; diff --git a/code/sdk/application/wearable/fd230app/nativeui/clock/src/MainClockView.cpp b/code/sdk/application/wearable/fd230app/nativeui/clock/src/MainClockView.cpp index 5c9f58f67..698e7ff46 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/clock/src/MainClockView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/clock/src/MainClockView.cpp @@ -38,8 +38,8 @@ std::string Enweekdays[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; std::string Cnweekdays[] = {"星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}; static constexpr const char *CHAGE_BATTERY = "/user/res/Battery/Charge_Icon.bin"; -static constexpr const char *WHITE_BATTERY = "/user/res/Battery/Battery-E.bin"; -static constexpr const char *BLACK_BATTERY = "/user/res/Battery/Battery-E.bin"; +static constexpr const char *WHITE_BATTERY = "/user/res/Battery/Battery_White.bin"; +static constexpr const char *BLACK_BATTERY = "/user/res/Battery/Battery_Black.bin"; // 定义一些常量 constexpr int HOURS_IN_DAY = 24; @@ -100,12 +100,15 @@ namespace OHOS MainClockView::~MainClockView() { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainClockView::~MainClockView"); + delete curFace; // 背景 curFace = nullptr; delete timerlabel; // 时间 timerlabel = nullptr; delete weekLabel; // 星期 weekLabel = nullptr; + delete datelabel; // 日期 + datelabel = nullptr; delete batteryiamge; // 电量框 batteryiamge = nullptr; delete batteryprogress; // 电量进度条 @@ -134,16 +137,21 @@ namespace OHOS return; DialLayout dialconfig; - SetDialModel::GetInstance().loadDialConfig(Id, dialconfig); - - // 设置背景 - dialFile = SetDialModel::GetInstance().GetSaveDir(Id) + "/" + "main_bg.bin"; - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "dialFile is %s", dialFile.c_str()); + if (SetDialModel::GetInstance().loadDialConfig(Id, dialconfig)) + { + // 设置背景 + dialFile = SetDialModel::GetInstance().GetSaveDir(Id) + "/" + "main_bg.bin"; + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "dialFile is %s", dialFile.c_str()); - // 设置表盘配置 - timePosition = static_cast(dialconfig.timeDisplay); - batterySetting = static_cast(dialconfig.batteryDisplay); - colorType = static_cast(dialconfig.colorTypeSet); + // 设置表盘配置 + timePosition = static_cast(dialconfig.timeDisplay); + batterySetting = static_cast(dialconfig.batteryDisplay); + colorType = static_cast(dialconfig.colorTypeSet); + } + else + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "custom_id [%d] file is error! ", Id); + } } /*设置表盘背景*/ @@ -211,7 +219,7 @@ namespace OHOS return false; } label->SetStyle(STYLE_BACKGROUND_COLOR, OPA_TRANSPARENT); - label->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT); + label->SetLineBreakMode(UILabel::LINE_BREAK_ELLIPSIS); // 居中 label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); label->SetStyle(STYLE_BACKGROUND_COLOR, OPA_OPAQUE); return true; @@ -219,7 +227,6 @@ namespace OHOS // 创建时间、星期、日期标签 if (!createLabel(timerlabel, "timerlabel") || - !createLabel(weekLabel, "weekLabel") || !createLabel(datelabel, "datelabel")) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Label creation failed, exiting InitTimeView"); @@ -230,29 +237,29 @@ namespace OHOS switch (type) { case TIME_DISPLAY_ABOVE: - timerlabel->SetPosition(104, 98, 200, 60); - timerlabel->SetFont(GILROY_BOLD_FONT, 100); - datelabel->SetPosition(133, 206, 200, 60); + timerlabel->SetPosition(0, 65, 466, 150); + timerlabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 100); + datelabel->SetPosition(83, 186, 300, 60); datelabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 26); - weekLabel->SetPosition(242, 206, 200, 60); - weekLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 26); + // weekLabel->SetPosition(246, 196, 200, 60); + // weekLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 26); break; case TIME_DISPLAY_BELOW: default: // 默认情况下显示在下方 WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "type is unknown, defaulting to TIMEVIEW_DOWN"); - timerlabel->SetPosition(147, 301, 200, 60); - timerlabel->SetFont(GILROY_BOLD_FONT, 70); - datelabel->SetPosition(137, 387, 200, 60); + timerlabel->SetPosition(83, 300, 300, 100); + timerlabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 65); + datelabel->SetPosition(137, 380, 200, 60); datelabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 26); - weekLabel->SetPosition(252, 387, 200, 60); - weekLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 26); + // weekLabel->SetPosition(252, 390, 200, 60); + // weekLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 26); break; } Add(timerlabel); Add(datelabel); - Add(weekLabel); + // Add(weekLabel); return true; } /* @@ -268,7 +275,7 @@ namespace OHOS */ bool MainClockView::InitColor(ColorTypeSet type) { - if (!timerlabel || !datelabel || !weekLabel) + if (!timerlabel || !datelabel) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "label is null"); return false; @@ -281,33 +288,33 @@ namespace OHOS case COLOR_BLACK: timerlabel->SetTextColor(Color::Black()); datelabel->SetTextColor(Color::Black()); - weekLabel->SetTextColor(Color::Black()); + // weekLabel->SetTextColor(Color::Black()); break; case COLOR_GRAY: timerlabel->SetTextColor(Color::Gray()); datelabel->SetTextColor(Color::Gray()); - weekLabel->SetTextColor(Color::Gray()); + // weekLabel->SetTextColor(Color::Gray()); break; case COLOR_GREEN: timerlabel->SetTextColor(Color::Green()); datelabel->SetTextColor(Color::Green()); - weekLabel->SetTextColor(Color::Green()); + // weekLabel->SetTextColor(Color::Green()); break; case COLOR_ORANGE: timerlabel->SetTextColor(Color::Orange()); datelabel->SetTextColor(Color::Orange()); - weekLabel->SetTextColor(Color::Orange()); + // weekLabel->SetTextColor(Color::Orange()); break; case COLOR_BLUE: timerlabel->SetTextColor(Color::Blue()); datelabel->SetTextColor(Color::Blue()); - weekLabel->SetTextColor(Color::Blue()); + // weekLabel->SetTextColor(Color::Blue()); break; case COLOR_WHITE: default: // 默认情况下使用白色 timerlabel->SetTextColor(Color::White()); datelabel->SetTextColor(Color::White()); - weekLabel->SetTextColor(Color::White()); + // weekLabel->SetTextColor(Color::White()); break; } return true; @@ -362,12 +369,12 @@ namespace OHOS } // 设置位置 - batteryicon->SetPosition(185, 52, 100, 100); + batteryicon->SetPosition(186, 52, 100, 100); batteryiamge->SetPosition(173, 52, 100, 100); - batteryprogress->SetPosition(179, 59, 30, 18); + batteryprogress->SetPosition(180, 58, 30, 18); batteryprogress->SetViewId("progress"); batteryprogress->SetStyle(STYLE_BACKGROUND_OPA, 0xff); - batterylabel->SetPosition(228, 54, 200, 60); + batterylabel->SetPosition(228, 52, 200, 60); batterylabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 26); // 设置图标和颜色 @@ -495,8 +502,10 @@ namespace OHOS std::string dateStr = std::to_string(local_time.tm_mon + 1) + "月" + std::to_string(local_time.tm_mday) + "日"; - if (weekLabel != nullptr) - weekLabel->SetText(weekStr.c_str()); + dateStr = dateStr + " " + weekStr; + + // if (weekLabel != nullptr) + // weekLabel->SetText(weekStr.c_str()); if (datelabel != nullptr) datelabel->SetText(dateStr.c_str());