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;
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; // 电量进度条
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<TimeDisplayPosition>(dialconfig.timeDisplay);
- batterySetting = static_cast<BatteryDisplayType>(dialconfig.batteryDisplay);
- colorType = static_cast<ColorTypeSet>(dialconfig.colorTypeSet);
+ // 设置表盘配置
+ timePosition = static_cast<TimeDisplayPosition>(dialconfig.timeDisplay);
+ batterySetting = static_cast<BatteryDisplayType>(dialconfig.batteryDisplay);
+ colorType = static_cast<ColorTypeSet>(dialconfig.colorTypeSet);
+ }
+ else
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "custom_id [%d] file is error! ", Id);
+ }
}
/*设置表盘背景*/
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;
// 创建时间、星期、日期标签
if (!createLabel(timerlabel, "timerlabel") ||
- !createLabel(weekLabel, "weekLabel") ||
!createLabel(datelabel, "datelabel"))
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Label creation failed, exiting InitTimeView");
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;
}
/*
*/
bool MainClockView::InitColor(ColorTypeSet type)
{
- if (!timerlabel || !datelabel || !weekLabel)
+ if (!timerlabel || !datelabel)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "label is null");
return false;
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;
}
// 设置位置
- 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);
// 设置图标和颜色
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());