From 4efa191a3ef55188c4e450aca63db4b28e3d7788 Mon Sep 17 00:00:00 2001 From: xue <2144439972@qq.com> Date: Fri, 7 Nov 2025 13:54:04 +0800 Subject: [PATCH] =?utf8?q?=E8=A7=A3=E5=86=B3=E5=8F=A0=E5=AD=97=E9=97=AE?= =?utf8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../include/ThunderBirdDialogueView.h | 4 +- .../include/ThunderBirdLullabyView.h | 3 +- .../include/ThunderBirdReminderView.h | 4 +- .../src/ThunderBirdDialogueView.cpp | 48 +++---------------- .../src/ThunderBirdLullabyView.cpp | 33 +++++-------- .../src/ThunderBirdReminderView.cpp | 39 ++++----------- 6 files changed, 33 insertions(+), 98 deletions(-) diff --git a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdDialogueView.h b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdDialogueView.h index b063110fa..253158e93 100644 --- a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdDialogueView.h +++ b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdDialogueView.h @@ -7,6 +7,7 @@ #include "components/ui_image_view.h" #include "components/ui_image_animator.h" #include "components/ui_label_button.h" +#include "components/ui_label_ext_with_shadow.h" #include "UiConfig.h" namespace OHOS @@ -141,8 +142,7 @@ namespace OHOS private: UIViewGroup *group{nullptr}; - UILabelExt *TextLabel{nullptr}; - UILabelExt *TextLabel_Y{nullptr}; + UILabelExtWithShadow *TextLabel{nullptr}; UIImageAnimatorView *speakAnimator{nullptr}; UIImageAnimatorView *listenAnimator{nullptr}; UIImageView *listenIcon{nullptr}; diff --git a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdLullabyView.h b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdLullabyView.h index 2317a3181..86d8145ac 100644 --- a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdLullabyView.h +++ b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdLullabyView.h @@ -6,6 +6,7 @@ #include "components/ui_label_ext.h" #include "components/ui_image_view.h" #include "components/ui_image_animator.h" +#include "components/ui_label_ext_with_shadow.h" #include namespace OHOS @@ -45,7 +46,7 @@ namespace OHOS private: UIViewGroup *group{nullptr}; - UILabelExt *TextLabel{nullptr}; + UILabelExtWithShadow *TextLabel{nullptr}; UILabelExt *TextLabel_Y{nullptr}; UILabelExt *RemindLabel{nullptr}; UIImageView *RemindIcon{nullptr}; diff --git a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdReminderView.h b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdReminderView.h index 4eef1b09a..f7cce2e2c 100644 --- a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdReminderView.h +++ b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdReminderView.h @@ -7,6 +7,7 @@ #include "components/ui_image_view.h" #include "components/ui_box_progress.h" #include "components/ui_label_button.h" +#include "components/ui_label_ext_with_shadow.h" namespace OHOS { @@ -47,8 +48,7 @@ namespace OHOS private: UIViewGroup *group{nullptr}; - UILabelExt *TextLabel{nullptr}; - UILabelExt *TextLabel_Y{nullptr}; + UILabelExtWithShadow *TextLabel{nullptr}; UILabelExt *RemindLabel{nullptr}; UILabelButton *RemindButton{nullptr}; UIImageView *RemindIcon{nullptr}; diff --git a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdDialogueView.cpp b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdDialogueView.cpp index ba512a7bb..60103662f 100644 --- a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdDialogueView.cpp +++ b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdDialogueView.cpp @@ -34,8 +34,6 @@ namespace OHOS group = nullptr; } if (TextLabel != nullptr) { delete TextLabel; TextLabel = nullptr; } - if (TextLabel_Y != nullptr) { delete TextLabel_Y; TextLabel_Y = nullptr; } - if (speakAnimator != nullptr) { delete speakAnimator; speakAnimator = nullptr; } if (listenAnimator != nullptr) { delete listenAnimator; listenAnimator = nullptr; } if (listenIcon != nullptr) { delete listenIcon; listenIcon = nullptr; } @@ -116,24 +114,14 @@ namespace OHOS return nullptr; } group->SetPosition(0, 0, 360, 360); - // 公共控件 - TextLabel_Y = new UILabelExt(); - if (TextLabel_Y) - { - TextLabel_Y->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); - TextLabel_Y->SetStyle(STYLE_TEXT_COLOR, 0xff000000); - TextLabel_Y->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); - TextLabel_Y->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE); - TextLabel_Y->SetRollSpeed(75); - TextLabel_Y->SetVisible(false); - group->Add(TextLabel_Y); - } - TextLabel = new UILabelExt(); + TextLabel = new UILabelExtWithShadow(); if (TextLabel) { TextLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); TextLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); + TextLabel->SetShadowOffsetX(2); + TextLabel->SetShadowOffsetY(2); TextLabel->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE); TextLabel->SetRollSpeed(75); TextLabel->SetVisible(false); @@ -190,7 +178,6 @@ namespace OHOS { if (group == nullptr) { return; } if (TextLabel) { TextLabel->SetVisible(false);} - if (TextLabel_Y) { TextLabel_Y->SetVisible(false);} if (speakAnimator) { speakAnimator->SetVisible(false); speakAnimator->Stop(); } if (listenAnimator) { listenAnimator->SetVisible(false); listenAnimator->Stop(); } if (listenIcon) { listenIcon->SetVisible(false); } @@ -200,15 +187,9 @@ namespace OHOS { ThunderBirdModel::GetInstance()->LowFrequence();//减低视频帧率 ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON); - if (TextLabel_Y) - { - TextLabel_Y->SetPosition(37, 66, 325, 42); - TextLabel_Y->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); - TextLabel_Y->SetVisible(true); - } if (TextLabel) { - TextLabel->SetPosition(TextLabel_Y->GetX()-2, TextLabel_Y->GetY()-2, 325, 42); + TextLabel->SetPosition(37, 66, 325, 42); TextLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); TextLabel->SetVisible(true); } @@ -236,13 +217,6 @@ namespace OHOS TextLabel->SetAlign(TEXT_ALIGNMENT_LEFT, TEXT_ALIGNMENT_LEFT); TextLabel->SetVisible(true); } - if (TextLabel_Y) - { - TextLabel_Y->SetPosition(113, 66, 180, 42); - TextLabel_Y->SetText("超认真聆听中"); - TextLabel_Y->SetAlign(TEXT_ALIGNMENT_LEFT, TEXT_ALIGNMENT_LEFT); - TextLabel_Y->SetVisible(true); - } //动效图标 if (listenAnimator) { listenAnimator->SetVisible(true); listenAnimator->Start(); } @@ -262,16 +236,9 @@ namespace OHOS if (ThunderBirdModel::GetInstance()) { currentStatusText = ThunderBirdModel::GetInstance()->GetCurrentStatusText(); } - if (TextLabel_Y) - { - TextLabel_Y->SetPosition(37, 66, 325, 42); - TextLabel_Y->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); - TextLabel_Y->SetText(currentStatusText.c_str()); - TextLabel_Y->SetVisible(true); - } if (TextLabel) { - TextLabel->SetPosition(TextLabel_Y->GetX()-2, TextLabel_Y->GetY()-2, 325, 42); + TextLabel->SetPosition(37, 66, 325, 42); TextLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); TextLabel->SetText(currentStatusText.c_str()); TextLabel->SetVisible(true); @@ -285,15 +252,14 @@ namespace OHOS } void ThunderBirdDialogueView::UpdateDialogueText(const char *text) { - if(!TextLabel || !TextLabel_Y) return; + if(!TextLabel) return; // 设置文本 TextLabel->SetText(text); - TextLabel_Y->SetText(text); } void ThunderBirdDialogueView::AudioPlaybackEnd() { - if(!TextLabel || !TextLabel_Y) return; + if(!TextLabel) return; //TextLabel->SetText("还有什么想聊的吗?"); //TextLabel_Y->SetText("还有什么想聊的吗?"); if(speakAnimator) {speakAnimator->Stop();} diff --git a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdLullabyView.cpp b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdLullabyView.cpp index 57b5bacf7..661c1f434 100644 --- a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdLullabyView.cpp +++ b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdLullabyView.cpp @@ -186,11 +186,10 @@ namespace OHOS { TextLabel_Y->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); TextLabel_Y->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); - TextLabel_Y->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000); TextLabel_Y->SetVisible(false); group->Add(TextLabel_Y); } - TextLabel = new UILabelExt(); + TextLabel = new UILabelExtWithShadow(); if (TextLabel) { TextLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); @@ -244,7 +243,11 @@ namespace OHOS { ThunderBirdModel::GetInstance()->StopCountUpTimer();//每次进入哄睡界面都停止定时器 if (group == nullptr) { return; } - if (TextLabel) { TextLabel->SetVisible(false); TextLabel->SetLineBreakMode(UILabel::LINE_BREAK_ELLIPSIS); } + if (TextLabel) + { TextLabel->SetVisible(false); + TextLabel->SetLineBreakMode(UILabel::LINE_BREAK_ELLIPSIS); + TextLabel->SetShadowOffsetX(0); + TextLabel->SetShadowOffsetY(0); } if (TextLabel_Y) { TextLabel_Y->SetVisible(false); } if (RemindLabel) { RemindLabel->SetVisible(false);} if (RemindIcon) { RemindIcon->SetVisible(false); } @@ -263,12 +266,6 @@ namespace OHOS TextLabel->SetText("按 说「哄我睡觉」"); TextLabel->SetVisible(true); } - if (TextLabel_Y) - { - TextLabel_Y->SetPosition(45, 66, 280, 42); - TextLabel_Y->SetText("按 说「哄我睡觉」"); - TextLabel_Y->SetVisible(true); - } if(RemindIcon) { RemindIcon->SetPosition(75, 65, 36, 36); @@ -405,18 +402,11 @@ namespace OHOS TextLabel->SetPosition(35, 64, 300, 42); TextLabel->SetText("正在准备故事...");//设置初始文字 TextLabel->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE); - TextLabel->SetRollSpeed(55); + TextLabel->SetShadowOffsetX(2); + TextLabel->SetShadowOffsetY(2); + TextLabel->SetRollSpeed(65); TextLabel->SetVisible(true); } - if (TextLabel_Y) - { - TextLabel_Y->SetPosition(37, 66, 300, 42); - TextLabel_Y->SetText("正在准备故事...");//设置初始文字 - TextLabel_Y->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE); - TextLabel_Y->SetStyle(STYLE_TEXT_COLOR, 0xff000000); - TextLabel_Y->SetRollSpeed(55); - TextLabel_Y->SetVisible(true); - } break; } case THUNDERBIRD_LULLABYVIEW_5: @@ -478,15 +468,14 @@ namespace OHOS void ThunderBirdLullabyView::UpdateLullabyText(const char *text) { - if(!TextLabel || !TextLabel_Y) { + if(!TextLabel) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdLullabyView::UpdateLullabyText: TextLabel or TextLabel_Y is null"); return; } WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdLullabyView::UpdateLullabyText: 更新故事文字: %s", text ? text : "null"); // 设置文本 - TextLabel->SetText(text); - TextLabel_Y->SetText(text); + TextLabel->SetText(text); } } diff --git a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdReminderView.cpp b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdReminderView.cpp index 6a871a57f..525f93986 100644 --- a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdReminderView.cpp +++ b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdReminderView.cpp @@ -35,7 +35,6 @@ namespace OHOS group = nullptr; } if (TextLabel != nullptr) { delete TextLabel; TextLabel = nullptr; } - if (TextLabel_Y != nullptr) { delete TextLabel_Y; TextLabel_Y = nullptr; } if (RemindLabel != nullptr) { delete RemindLabel; RemindLabel = nullptr; } if (RemindIcon != nullptr) { delete RemindIcon; RemindIcon = nullptr; } if (RemindIcon2 != nullptr) { delete RemindIcon2; RemindIcon2 = nullptr; } @@ -55,15 +54,7 @@ namespace OHOS group->SetStyle(STYLE_BACKGROUND_OPA, 0x00); // 公共控件 - TextLabel_Y = new UILabelExt(); - if (TextLabel_Y) - { - TextLabel_Y->SetVisible(false); - TextLabel_Y->SetStyle(STYLE_LINE_SPACE, 10); - TextLabel_Y->SetStyle(STYLE_LETTER_SPACE, 1); - group->Add(TextLabel_Y); - } - TextLabel = new UILabelExt(); + TextLabel = new UILabelExtWithShadow(); if (TextLabel) { TextLabel->SetVisible(false); @@ -123,8 +114,10 @@ namespace OHOS void ThunderBirdReminderView::Show(int16_t showView) { if (group == nullptr) { return; } - if (TextLabel) { TextLabel->SetVisible(false); TextLabel->SetLineBreakMode(UILabel::LINE_BREAK_ELLIPSIS);} - if (TextLabel_Y) { TextLabel_Y->SetVisible(false); TextLabel_Y->SetLineBreakMode(UILabel::LINE_BREAK_ELLIPSIS);} + if (TextLabel) { TextLabel->SetVisible(false); + TextLabel->SetLineBreakMode(UILabel::LINE_BREAK_ELLIPSIS); + TextLabel->SetShadowOffsetX(0); + TextLabel->SetShadowOffsetY(0);} if (RemindLabel) { RemindLabel->SetVisible(false); } if (RemindButton) { RemindButton->SetVisible(false); } if (RemindIcon) { RemindIcon->SetVisible(false); RemindIcon->SetStyle(STYLE_BACKGROUND_OPA, 0x00);} @@ -159,26 +152,16 @@ namespace OHOS RemindIcon->SetSrc("/user/res/notification.bin"); RemindIcon->SetVisible(true); } - if (TextLabel_Y) - { - // 黑色文本:位置比白色文本偏移2像素 - TextLabel_Y->SetPosition(37, 66, 325, 42); - TextLabel_Y->SetText("你有一条提醒"); - TextLabel_Y->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); - TextLabel_Y->SetStyle(STYLE_TEXT_COLOR, 0xff000000); - TextLabel_Y->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE); - TextLabel_Y->SetRollSpeed(35); - TextLabel_Y->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); - TextLabel_Y->SetVisible(true); - } if (TextLabel) { // 文本位置:图标右侧,紧挨着 - TextLabel->SetPosition(TextLabel_Y->GetX()-2, TextLabel_Y->GetY()-2, 325, 42); + TextLabel->SetPosition(37, 66, 325, 42); TextLabel->SetText("你有一条提醒"); TextLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); // 左对齐,因为已经整体居中了 + TextLabel->SetShadowOffsetX(2); + TextLabel->SetShadowOffsetY(2); TextLabel->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE); - TextLabel->SetRollSpeed(35); + TextLabel->SetRollSpeed(65); TextLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); TextLabel->SetVisible(true); } @@ -430,7 +413,6 @@ namespace OHOS if (group == nullptr) { return; } if (RemindButton) { RemindButton->SetVisible(false); } if (TextLabel) { TextLabel->SetVisible(false); } - if (TextLabel_Y) { TextLabel_Y->SetVisible(false); } if (RemindLabel) { RemindLabel->SetVisible(false); } if (RemindIcon) { RemindIcon->SetVisible(false); } if (RemindIcon2) { RemindIcon2->SetVisible(false); } @@ -483,17 +465,14 @@ namespace OHOS } else if (title) { // 只有标题 TextLabel->SetText(title); - TextLabel_Y->SetText(title); WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Updated task reminder text with title only: %s", title); } else if (content) { // 只有内容 TextLabel->SetText(content); - TextLabel_Y->SetText(content); WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Updated task reminder text with content only: %s", content); } else { // 都没有,使用默认文本 TextLabel->SetText("你有一条提醒"); - TextLabel_Y->SetText("你有一条提醒"); WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Updated task reminder text with default text"); } } -- 2.17.1