#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
private:
UIViewGroup *group{nullptr};
- UILabelExt *TextLabel{nullptr};
- UILabelExt *TextLabel_Y{nullptr};
+ UILabelExtWithShadow *TextLabel{nullptr};
UIImageAnimatorView *speakAnimator{nullptr};
UIImageAnimatorView *listenAnimator{nullptr};
UIImageView *listenIcon{nullptr};
#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 <cstdint>
namespace OHOS
private:
UIViewGroup *group{nullptr};
- UILabelExt *TextLabel{nullptr};
+ UILabelExtWithShadow *TextLabel{nullptr};
UILabelExt *TextLabel_Y{nullptr};
UILabelExt *RemindLabel{nullptr};
UIImageView *RemindIcon{nullptr};
#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
{
private:
UIViewGroup *group{nullptr};
- UILabelExt *TextLabel{nullptr};
- UILabelExt *TextLabel_Y{nullptr};
+ UILabelExtWithShadow *TextLabel{nullptr};
UILabelExt *RemindLabel{nullptr};
UILabelButton *RemindButton{nullptr};
UIImageView *RemindIcon{nullptr};
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; }
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);
{
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); }
{
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);
}
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(); }
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);
}
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();}
{
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);
{
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); }
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);
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:
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);
}
}
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; }
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);
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);}
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);
}
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); }
} 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");
}
}