STR_ENABLE_BLUETOOTH_CALL$Enable Bluetooth Call\r
STR_ENABLE_BLUETOOTH_CALL_NOTE$The solution:\n1. IPhone\nPlease go to the phone \"Settings\" → \"Bluetooth\" list to find\n“KUMI_XXXX”\nClick and try again\n\n2. Android phones\nPlease go to the phone \"Settings\" → \"Bluetooth\" list to find\n“KUMI_XXXX”\nClick the icon on the right to enter Bluetooth Settings\nEnable the call and media functions and try again\r
STR_SIM_CARD_ERROR$SIM Card Error\r
-STR_CHECK_SIM_CARD_INSERTION$Check if the watch’s SIM card is properly inserted
\ No newline at end of file
+STR_CHECK_SIM_CARD_INSERTION$Check if the watch’s SIM card is properly inserted\r
+STR_WEATHER_REPORT$Weather report\r
+STR_ULTRAVIOLET$Ultraviolet\r
+STR_WIND_SPEED$WindSpeed\r
+STR_HUMIDITY$Humidity\r
+STR_NEXT_7_DAYS$Next 7 Days\r
+STR_GET_WEATHER_ERROR$No weather information was obtained Please go to APP Update\r
+STR_MUSIC_SOURCE$Music source\r
+STR_MOBILE_MUSIC$Mobile music\r
+STR_WATCH_MUSIC$Watch music\r
+STR_MUSIC_SOURCE$Music source\r
+STR_MUSIC_LIST$Music list\r
+STR_BLUETOOTH_CONNECTION_FAILED$Bluetooth connection failed\r
+STR_SCANNING_BINDING$Scanning binding\r
+STR_DEVICE_BINDING$Device binding\r
+STR_DEVICE_BINDING_NOTE$XX wants to connect and bind with you\r
+STR_EQUIPMENT_UNTYING$Equipment untying\r
+STR_EQUIPMENT_UNTYING_NOTE$XX would like to unbind you\r
+STR_DRINK_WATER_REMINDER$Drink water reminder\r
+STR_DRINK_WATER_REMINDER_NOTE$Time for some water! And stay hydrated (๑•̀ㅂ•́)\r
+STR_SEDENTARY_REMINDER$Sedentary reminder\r
+STR_SEDENTARY_REMINDER_NOTE$You haven't moved for XX hours. Get up and move.\r
+STR_SYSTEM_UPGRADING$System upgrading\r
+STR_NEWDEVICE_BIND_REMIND_NOTE$The current device is already tied to the Iphone 13 pro\n\nContinuing to connect will unbind the Iphone 13 pro and restore the watch to factory Settings (will erase the watch data)\n\nWhether to continue the operation\r
+STR_TABULAR_DISPLAY$Tabular display\r
+STR_GRID_DISPLAY$Grid display\r
+STR_CELLULAR_DISPLAY$Cellular display
\ No newline at end of file
STR_ENABLE_BLUETOOTH_CALL$开启蓝牙通话\r
STR_ENABLE_BLUETOOTH_CALL_NOTE$解决方法:\n1.苹果手机\n请前往手机“设置”→“蓝牙”列表找到\n“KUMI_XXXX”\n并点击后重试\n\n2.安卓手机\n请前往手机“设置”→“蓝牙”列表找到\n“KUMI_XXXX”\n点击右侧图标进入蓝牙设置\n开启通话及媒体功能后重试\r
STR_SIM_CARD_ERROR$Sim卡异常\r
-STR_CHECK_SIM_CARD_INSERTION$SIM卡拨号异常,请检查手表SIM卡是否正确插入
\ No newline at end of file
+STR_CHECK_SIM_CARD_INSERTION$SIM卡拨号异常,请检查手表SIM卡是否正确插入\r
+STR_WEATHER_REPORT$气象报告\r
+STR_ULTRAVIOLET$紫外线\r
+STR_WIND_SPEED$风速\r
+STR_HUMIDITY$湿度\r
+STR_NEXT_7_DAYS$未来七天\r
+STR_GET_WEATHER_ERROR$未获取到天气信息请前往APP更新\r
+STR_MUSIC_SOURCE$音乐来源\r
+STR_MOBILE_MUSIC$手机音乐\r
+STR_WATCH_MUSIC$手表音乐\r
+STR_MUSIC_SOURCE$音乐来源\r
+STR_MUSIC_LIST$音乐列表\r
+STR_BLUETOOTH_CONNECTION_FAILED$蓝牙连接失败\r
+STR_SCANNING_BINDING$扫码绑定\r
+STR_DEVICE_BINDING$设备绑定\r
+STR_DEVICE_BINDING_NOTE$XX想要与你进行连接绑定\r
+STR_EQUIPMENT_UNTYING$设备解绑\r
+STR_EQUIPMENT_UNTYING_NOTE$XX 想要与你进行解绑\r
+STR_DRINK_WATER_REMINDER$喝水提醒\r
+STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足(๑•̀ㅂ•́)و✧\r
+STR_SEDENTARY_REMINDER$久坐提醒\r
+STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。\r
+STR_SYSTEM_UPGRADING$系统升级中\r
+STR_NEWDEVICE_BIND_REMIND_NOTE$当前设备已经与 XX 绑定继续连接操作会解除与 XX 的绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作\r
+STR_TABULAR_DISPLAY$列表显示\r
+STR_GRID_DISPLAY$网格显示\r
+STR_CELLULAR_DISPLAY$蜂窝显示
\ No newline at end of file
<lanstr id="STR_ENABLE_BLUETOOTH_CALL_NOTE" value="The solution:\n1. IPhone\nPlease go to the phone \"Settings\" → \"Bluetooth\" list to find\n“KUMI_XXXX”\nClick and try again\n\n2. Android phones\nPlease go to the phone \"Settings\" → \"Bluetooth\" list to find\n“KUMI_XXXX”\nClick the icon on the right to enter Bluetooth Settings\nEnable the call and media functions and try again"/>
<lanstr id="STR_SIM_CARD_ERROR" value="SIM Card Error"/>
<lanstr id="STR_CHECK_SIM_CARD_INSERTION" value="Check if the watch’s SIM card is properly inserted"/>
+ <lanstr id="STR_WEATHER_REPORT" value="Weather report"/>
+ <lanstr id="STR_ULTRAVIOLET" value="Ultraviolet"/>
+ <lanstr id="STR_WIND_SPEED" value="WindSpeed"/>
+ <lanstr id="STR_HUMIDITY" value="Humidity"/>
+ <lanstr id="STR_NEXT_7_DAYS" value="Next 7 Days"/>
+ <lanstr id="STR_GET_WEATHER_ERROR" value="No weather information was obtained Please go to APP Update"/>
+ <lanstr id="STR_MUSIC_SOURCE" value="Music source"/>
+ <lanstr id="STR_MOBILE_MUSIC" value="Mobile music"/>
+ <lanstr id="STR_WATCH_MUSIC" value="Watch music"/>
+ <lanstr id="STR_MUSIC_SOURCE" value="Music source"/>
+ <lanstr id="STR_MUSIC_LIST" value="Music list"/>
+ <lanstr id="STR_BLUETOOTH_CONNECTION_FAILED" value="Bluetooth connection failed"/>
+ <lanstr id="STR_SCANNING_BINDING" value="Scanning binding"/>
+ <lanstr id="STR_DEVICE_BINDING" value="Device binding"/>
+ <lanstr id="STR_DEVICE_BINDING_NOTE" value="XX wants to connect and bind with you"/>
+ <lanstr id="STR_EQUIPMENT_UNTYING" value="Equipment untying"/>
+ <lanstr id="STR_EQUIPMENT_UNTYING_NOTE" value="XX would like to unbind you"/>
+ <lanstr id="STR_DRINK_WATER_REMINDER" value="Drink water reminder"/>
+ <lanstr id="STR_DRINK_WATER_REMINDER_NOTE" value="Time for some water! And stay hydrated (๑•̀ㅂ•́)"/>
+ <lanstr id="STR_SEDENTARY_REMINDER" value="Sedentary reminder"/>
+ <lanstr id="STR_SEDENTARY_REMINDER_NOTE" value="You haven't moved for XX hours. Get up and move."/>
+ <lanstr id="STR_SYSTEM_UPGRADING" value="System upgrading"/>
+ <lanstr id="STR_NEWDEVICE_BIND_REMIND_NOTE" value="The current device is already tied to the Iphone 13 pro\n\nContinuing to connect will unbind the Iphone 13 pro and restore the watch to factory Settings (will erase the watch data)\n\nWhether to continue the operation"/>
+ <lanstr id="STR_TABULAR_DISPLAY" value="Tabular display"/>
+ <lanstr id="STR_GRID_DISPLAY" value="Grid display"/>
+ <lanstr id="STR_CELLULAR_DISPLAY" value="Cellular display"/>
</language>
<lanstr id="STR_ENABLE_BLUETOOTH_CALL_NOTE" value="解决方法:\n1.苹果手机\n请前往手机“设置”→“蓝牙”列表找到\n“KUMI_XXXX”\n并点击后重试\n\n2.安卓手机\n请前往手机“设置”→“蓝牙”列表找到\n“KUMI_XXXX”\n点击右侧图标进入蓝牙设置\n开启通话及媒体功能后重试"/>
<lanstr id="STR_SIM_CARD_ERROR" value="Sim卡异常"/>
<lanstr id="STR_CHECK_SIM_CARD_INSERTION" value="SIM卡拨号异常,请检查手表SIM卡是否正确插入"/>
+ <lanstr id="STR_WEATHER_REPORT" value="气象报告"/>
+ <lanstr id="STR_ULTRAVIOLET" value="紫外线"/>
+ <lanstr id="STR_WIND_SPEED" value="风速"/>
+ <lanstr id="STR_HUMIDITY" value="湿度"/>
+ <lanstr id="STR_NEXT_7_DAYS" value="未来七天"/>
+ <lanstr id="STR_GET_WEATHER_ERROR" value="未获取到天气信息请前往APP更新"/>
+ <lanstr id="STR_MUSIC_SOURCE" value="音乐来源"/>
+ <lanstr id="STR_MOBILE_MUSIC" value="手机音乐"/>
+ <lanstr id="STR_WATCH_MUSIC" value="手表音乐"/>
+ <lanstr id="STR_MUSIC_SOURCE" value="音乐来源"/>
+ <lanstr id="STR_MUSIC_LIST" value="音乐列表"/>
+ <lanstr id="STR_BLUETOOTH_CONNECTION_FAILED" value="蓝牙连接失败"/>
+ <lanstr id="STR_SCANNING_BINDING" value="扫码绑定"/>
+ <lanstr id="STR_DEVICE_BINDING" value="设备绑定"/>
+ <lanstr id="STR_DEVICE_BINDING_NOTE" value="XX想要与你进行连接绑定"/>
+ <lanstr id="STR_EQUIPMENT_UNTYING" value="设备解绑"/>
+ <lanstr id="STR_EQUIPMENT_UNTYING_NOTE" value="XX 想要与你进行解绑"/>
+ <lanstr id="STR_DRINK_WATER_REMINDER" value="喝水提醒"/>
+ <lanstr id="STR_DRINK_WATER_REMINDER_NOTE" value="该喝水啦!记得按时保持水分充足(๑•̀ㅂ•́)و✧"/>
+ <lanstr id="STR_SEDENTARY_REMINDER" value="久坐提醒"/>
+ <lanstr id="STR_SEDENTARY_REMINDER_NOTE" value="你已经XX小时未活动了,站起来活动一下吧。"/>
+ <lanstr id="STR_SYSTEM_UPGRADING" value="系统升级中"/>
+ <lanstr id="STR_NEWDEVICE_BIND_REMIND_NOTE" value="当前设备已经与 XX 绑定继续连接操作会解除与 XX 的绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作"/>
+ <lanstr id="STR_TABULAR_DISPLAY" value="列表显示"/>
+ <lanstr id="STR_GRID_DISPLAY" value="网格显示"/>
+ <lanstr id="STR_CELLULAR_DISPLAY" value="蜂窝显示"/>
</language>
STR_ENABLE_BLUETOOTH_CALL_NOTE = 384,\r
STR_SIM_CARD_ERROR = 385,\r
STR_CHECK_SIM_CARD_INSERTION = 386,\r
- STR_RANGE_MILE = 387,\r
- STR_CLOSE = 388,\r
- STR_MORE_APP = 389,\r
- STR_SAVENOTE = 390,\r
- STR_SAVEBACK = 391,\r
- STR_SAVEASK = 392,\r
- STR_BLOOD = 393,\r
- STR_CHECK = 394,\r
- STR_CHECKNEW = 395,\r
- STR_CHECKTIME = 396,\r
- STR_CHECKLONG = 397,\r
- STR_CHECKNO = 398,\r
- STR_CHECKNOTE = 399,\r
- STR_CHECKON = 400,\r
- STR_CHECKSTOP = 401,\r
- STR_CHECKERROR = 402,\r
- STR_WAERKEEP = 403,\r
- STR_WEARRE = 404,\r
- STR_WEARREADY = 405,\r
- STR_RECHECK = 406,\r
- STR_CHECKEWARN = 407,\r
- STR_BLOODSHORT = 408,\r
- STR_HEARTNOTE = 409,\r
- STR_KONW = 410,\r
- STR_EXPLAIN = 411,\r
- STR_HEARTREST = 412,\r
- STR_HEARTDATA = 413,\r
- STR_HEARTTITLE = 414,\r
- STR_HEARTMAX = 415,\r
- STR_HEARTMIN = 416,\r
- STR_TRAINGNO = 417,\r
- STR_TRAINGGO = 418,\r
- STR_MESSAGE = 419,\r
- STR_MESSAGENO = 420,\r
- STR_DIS = 421,\r
- STR_DUR = 422,\r
- STR_STANDUP = 423,\r
- STR_SLEEPHOUR = 424,\r
- STR_SLEEPMGOAL = 425,\r
- STR_REATTIME = 426,\r
- STR_SLEEPTIME = 427,\r
- STR_WALKTIME = 428,\r
- STR_DISTURB = 429,\r
- STR_DISTURBNOTE = 430,\r
- STR_MORNNING = 431,\r
- STR_NOW = 432,\r
- STR_NAP = 433,\r
- STR_TACK = 434,\r
- STR_CLICK = 435,\r
- STR_TACKNUM = 436,\r
- STR_MON = 437,\r
- STR_TUES = 438,\r
- STR_WEDNES = 439,\r
- STR_THURS = 440,\r
- STR_FRI = 441,\r
- STR_SATUR = 442,\r
- STR_SUN = 443,\r
- STR_MAX_ID = 444,\r
+ STR_WEATHER_REPORT = 387,\r
+ STR_ULTRAVIOLET = 388,\r
+ STR_WIND_SPEED = 389,\r
+ STR_HUMIDITY = 390,\r
+ STR_NEXT_7_DAYS = 391,\r
+ STR_GET_WEATHER_ERROR = 392,\r
+ STR_MUSIC_SOURCE = 393,\r
+ STR_MOBILE_MUSIC = 394,\r
+ STR_WATCH_MUSIC = 395,\r
+ STR_MUSIC_LIST = 396,\r
+ STR_BLUETOOTH_CONNECTION_FAILED = 397,\r
+ STR_SCANNING_BINDING = 398,\r
+ STR_DEVICE_BINDING = 399,\r
+ STR_DEVICE_BINDING_NOTE = 400,\r
+ STR_EQUIPMENT_UNTYING = 401,\r
+ STR_EQUIPMENT_UNTYING_NOTE = 402,\r
+ STR_DRINK_WATER_REMINDER = 403,\r
+ STR_DRINK_WATER_REMINDER_NOTE = 404,\r
+ STR_SEDENTARY_REMINDER = 405,\r
+ STR_SEDENTARY_REMINDER_NOTE = 406,\r
+ STR_SYSTEM_UPGRADING = 407,\r
+ STR_NEWDEVICE_BIND_REMIND_NOTE = 408,\r
+ STR_TABULAR_DISPLAY = 409,\r
+ STR_RANGE_MILE = 410,\r
+ STR_CLOSE = 411,\r
+ STR_MORE_APP = 412,\r
+ STR_SAVENOTE = 413,\r
+ STR_SAVEBACK = 414,\r
+ STR_SAVEASK = 415,\r
+ STR_BLOOD = 416,\r
+ STR_CHECK = 417,\r
+ STR_CHECKNEW = 418,\r
+ STR_CHECKTIME = 419,\r
+ STR_CHECKLONG = 420,\r
+ STR_CHECKNO = 421,\r
+ STR_CHECKNOTE = 422,\r
+ STR_CHECKON = 423,\r
+ STR_CHECKSTOP = 424,\r
+ STR_CHECKERROR = 425,\r
+ STR_WAERKEEP = 426,\r
+ STR_WEARRE = 427,\r
+ STR_WEARREADY = 428,\r
+ STR_RECHECK = 429,\r
+ STR_CHECKEWARN = 430,\r
+ STR_BLOODSHORT = 431,\r
+ STR_HEARTNOTE = 432,\r
+ STR_KONW = 433,\r
+ STR_EXPLAIN = 434,\r
+ STR_HEARTREST = 435,\r
+ STR_HEARTDATA = 436,\r
+ STR_HEARTTITLE = 437,\r
+ STR_HEARTMAX = 438,\r
+ STR_HEARTMIN = 439,\r
+ STR_TRAINGNO = 440,\r
+ STR_TRAINGGO = 441,\r
+ STR_MESSAGE = 442,\r
+ STR_MESSAGENO = 443,\r
+ STR_DIS = 444,\r
+ STR_DUR = 445,\r
+ STR_STANDUP = 446,\r
+ STR_SLEEPHOUR = 447,\r
+ STR_SLEEPMGOAL = 448,\r
+ STR_REATTIME = 449,\r
+ STR_SLEEPTIME = 450,\r
+ STR_WALKTIME = 451,\r
+ STR_DISTURB = 452,\r
+ STR_DISTURBNOTE = 453,\r
+ STR_MORNNING = 454,\r
+ STR_NOW = 455,\r
+ STR_NAP = 456,\r
+ STR_TACK = 457,\r
+ STR_CLICK = 458,\r
+ STR_TACKNUM = 459,\r
+ STR_MON = 460,\r
+ STR_TUES = 461,\r
+ STR_WEDNES = 462,\r
+ STR_THURS = 463,\r
+ STR_FRI = 464,\r
+ STR_SATUR = 465,\r
+ STR_SUN = 466,\r
+ STR_MAX_ID = 467,\r
}; // UIResourceTextId\r
enum FontLanguageId : uint8_t {
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-03-30 09:14:38\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-04-15 14:24:52\r
+ * @LastEditTime: 2024-05-10 11:36:50\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/weather/include/FutureWeatherView.h\r
*/\r
#ifndef FUTURE_WEATHER_VIEW_H\r
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-03-30 09:14:38\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-04-12 16:22:24\r
+ * @LastEditTime: 2024-05-10 10:49:52\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/weather/include/GetWeatherDataErrorView.h\r
*/\r
#ifndef Get_WEATHER_DATA_ERROR_VIEW_H\r
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-01-29 15:37:44\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-04-13 10:09:34\r
+ * @LastEditTime: 2024-05-10 10:58:31\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/weather/include/MainWeatherPresenter.h\r
*/\r
#ifndef MAIN_WEATHER_PRESENTER_H\r
void OnSwipe(UISwipeView &view) override;\r
\r
WeatherModel *weatherModel{nullptr};\r
+ bool X_DRAG_FLAG{false};\r
};\r
} // namespace OHOS\r
\r
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-01-29 15:37:44\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-04-13 10:04:53\r
+ * @LastEditTime: 2024-05-10 11:22:41\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/weather/include/MainWeatherView.h\r
*/\r
#ifndef MAIN_WEATHER_VIEW_H\r
AppGroupView *WeatherViewPageInit(void);\r
AppGroupView *WeatherReportViewPageInit(void);\r
AppGroupView *FutureWeatherViewPageInit(void);\r
+ UIScrollView *WeatherDataErrorViewPageInit(void);\r
WeatherView *GetWeatherView(void);\r
+ UIView *GetWeatherPageView(void);\r
WeatherReportView *GetWeatherReportView(void);\r
FutureWeatherView *GetFutureWeatherView(void);\r
\r
WeatherReportView *weatherReportView{nullptr};\r
FutureWeatherView *futureWeatherView{nullptr};\r
GetWeatherDataErrorView *getWeatherDataErrorView{nullptr};\r
+\r
private:\r
int16_t maxPage = MAX_WEATHERVIEW;\r
UISwipeView *weatherSwipeViewList{nullptr}; // 天气滑动视图列表\r
AppGroupView *recordCard[MAX_WEATHERVIEW]{nullptr};\r
- bool pageStatus[MAX_WEATHERVIEW]{false};\r
AppGroupView *CreatePage(int32_t WeatherPageId);\r
};\r
} // namespace OHOS\r
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-04-08 18:40:20
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-04-16 09:57:34
+ * @LastEditTime: 2024-05-09 15:46:16
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/weather/include/WeatherModel.h
*/
#ifndef WEATHER_MODEL_H
}
#endif /* __cplusplus */
+#define DAYS_OF_THE_WEEK 7
#define weather_src "/user/res/weather/weather65x65/"
static const char *weather65x65[] =
{
std::string GetHumidity();
std::string GetWindScale();
std::string GetUVIndex();
- static uint8_t WEATHER_DATA_VALID; // 天气数据是否有效
+ /* -------------------------------------------------------------------------- */
+ bool GetWeatherDataIsValid(void);
+ void SetWeatherDataIsValid(bool value);
private:
WeatherModel();
WeatherModel(const WeatherModel &) = delete;
WeatherModel &operator=(const WeatherModel &) = delete;
virtual ~WeatherModel();
- FutureWeather FutureWeatherItem[7];
+ FutureWeather FutureWeatherItem[DAYS_OF_THE_WEEK];
+ bool WEATHER_DATA_VALID{false}; // 天气数据是否有效
};
}
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-03-30 09:14:38\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-04-13 18:01:59\r
+ * @LastEditTime: 2024-05-09 17:49:13\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/weather/include/WeatherReportView.h\r
*/\r
#ifndef WEATHER_REPORT_VIEW_H\r
int16_t height;\r
int16_t fontSize; // 字体大小\r
int16_t lineHeigh; // 行高\r
- std::string text; // 文本\r
+ std::string text; // 文本\r
+ uint16_t textId; \r
uint8_t lineBreakMode; // 断行模式。\r
};\r
WeatherReportView();\r
const char **CreateImagePathsArray(const char *basePath, const char *fileExtension, int numImages);\r
void FreeImagePathsArray(const char **imagePaths, const int numImages);\r
UILabelExt *SetUpLabel(LabelConfig &labelconfig); // 设置标签\r
+ UILabelExt *SetUpLabelExt(LabelConfig &labelconfig);\r
bool WeatherReportViewLabelInit(void);\r
bool WeatherReportViewImageAnimatorViewInit(void);\r
UILabelExt *title{nullptr}; // 标题\r
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-01-29 15:37:44\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-04-15 15:01:52\r
+ * @LastEditTime: 2024-05-10 11:19:59\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/weather/src/FutureWeatherView.cpp\r
*/\r
#include "weather/include/FutureWeatherView.h"\r
#include "wearable_log.h"\r
#include "weather/include/WeatherModel.h"\r
#include "common/image_cache_manager.h"\r
+#include "language/font/ui_resource_string.h"\r
+#include "weather/include/WeatherModel.h"\r
namespace OHOS\r
{\r
\r
bool FutureWeatherView::InitPage(void)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "FutureWeatherView::InitPage");\r
- /* -------------------------------------------------------------------------- */\r
-\r
/* -------------------------------------------------------------------------- */\r
Title = new UILabelExt();\r
if (Title == nullptr)\r
Title->SetPosition(93, 52, 280, 47);\r
Title->SetStyle(STYLE_TEXT_FONT, 30);\r
Title->SetStyle(STYLE_LINE_HEIGHT, 35);\r
- Title->SetText("未来7天");\r
+ Title->SetTextId(STR_NEXT_7_DAYS);\r
Title->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
Title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- Title->SetRollSpeed(40);\r
Title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
Add(Title);\r
/* -------------------------------------------------------------------------- */\r
}\r
SetDraggable(true);\r
SetTouchable(true);\r
+ /* -------------------------------------------------------------------------- */\r
+ WeatherModel::GetInstance().InitFutureWeatherItem();\r
+ /* -------------------------------------------------------------------------- */\r
return true;\r
}\r
\r
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-01-29 15:37:44\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-04-13 19:23:06\r
+ * @LastEditTime: 2024-05-10 10:49:39\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/weather/src/GetWeatherDataErrorView.cpp\r
*/\r
#include "weather/include/GetWeatherDataErrorView.h"\r
#include "wearable_log.h"\r
#include "weather/include/MainWeatherPresenter.h"\r
+#include "language/font/ui_resource_string.h"\r
+#include "uicomponents/UIComponents.h"\r
\r
/* 天气获取数据失败后会调用该视图*/\r
namespace OHOS\r
scrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
scrollView->SetViewId(GETWEATHERDATAERRORVIEW);\r
scrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
- UIView::OnDragListener *listener = static_cast<UIView::OnDragListener *>(MainWeatherPresenter::GetInstance());\r
- if (listener == nullptr)\r
- {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "listener is nullptr!!");\r
- return nullptr;\r
- }\r
- scrollView->SetOnDragListener(listener);\r
/* -------------------------------------------------------------------------- */\r
image = new UIImageView();\r
if (image == nullptr)\r
return nullptr;\r
}\r
label->SetPosition(33, 268, 400, 70);\r
- label->SetStyle(STYLE_TEXT_FONT, 26);\r
+ label->SetStyle(STYLE_TEXT_FONT, 30);\r
label->SetStyle(STYLE_LINE_HEIGHT, 35);\r
- label->SetText("未获取到天气信息\n请前往APP更新");\r
+ SetLabelId(label,STR_GET_WEATHER_ERROR);\r
label->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);\r
label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- label->SetRollSpeed(40);\r
- label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 26);\r
+ label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+\r
+ \r
scrollView->Add(label);\r
}\r
return scrollView;\r
#include "common/key_code.h"\r
#include <custom_utils.h>\r
#include <ohos_types.h>\r
+#include "UiConfig.h"\r
namespace OHOS\r
{\r
\r
\r
void MainWeatherPresenter::OnResume(void)\r
{\r
- weatherModel->InitFutureWeatherItem();\r
Presenter<MainWeatherView>::OnResume();\r
}\r
\r
void MainWeatherPresenter::OnStop(void)\r
{\r
-\r
Presenter<MainWeatherView>::OnStop();\r
}\r
\r
bool MainWeatherPresenter::OnDrag(UIView &view, const DragEvent &event)\r
{\r
UNUSED(view);\r
- UNUSED(event);\r
-\r
+ if ((event.GetDeltaX() > X_DRAG_OFFSET) && (event.GetDeltaX() > (DOUBLES * MATH_ABS(event.GetDeltaY())))) // 拖动过程中判断是否是水平滑动\r
+ {\r
+ MainWeatherPresenter::X_DRAG_FLAG = true;\r
+ }\r
return true;\r
}\r
\r
bool MainWeatherPresenter::OnDragEnd(UIView &view, const DragEvent &event)\r
{\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, " MainWeatherPresenter::OnDragEnd");\r
- if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)\r
- {\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST);\r
- return true;\r
- }\r
- if (strcmp(view.GetViewId(), GETWEATHERDATAERRORVIEW) == 0 && event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)\r
+ UNUSED(view);\r
+ if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT && MainWeatherPresenter::X_DRAG_FLAG)\r
{\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST);\r
+ NativeAbility::GetInstance().Back();\r
+ X_DRAG_FLAG = false;\r
}\r
return true;\r
}\r
// 如果是power键就返回上一级\r
if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
{\r
- uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();\r
- NativeAbility::GetInstance().ChangeSlice(preSlice);\r
+ NativeAbility::GetInstance().Back();\r
}\r
return true;\r
}\r
if (view.GetCurrentPage() == MAINWEATHERVIEW)\r
{\r
view.SetIntercept(false);\r
+ MainWeatherView::GetInstance()->GetFutureWeatherView()->GetFutureWeatherList()->RefreshList();\r
}\r
else\r
{\r
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-01-29 15:37:44\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-04-15 15:06:51\r
+ * @LastEditTime: 2024-05-10 11:31:08\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/weather/src/MainWeatherView.cpp\r
*/\r
#include "weather/include/MainWeatherView.h"\r
return weatherSwipeViewList;\r
}\r
\r
+ // 获取天气页面视图\r
+ UIView *MainWeatherView::GetWeatherPageView()\r
+ {\r
+ if (WeatherModel::GetInstance().GetWeatherDataIsValid()) // 如果天气数据有效\r
+ {\r
+ return dynamic_cast<UIView *>(MainWeatherViewInit());\r
+ }\r
+ else\r
+ {\r
+ return dynamic_cast<UIView *>(WeatherDataErrorViewPageInit());\r
+ }\r
+ return nullptr;\r
+ }\r
+\r
void MainWeatherView::OnStart()\r
{\r
View<MainWeatherPresenter>::OnStart();\r
- if (WeatherModel::WEATHER_DATA_VALID)\r
+ RootView::GetInstance()->Add(GetWeatherPageView());\r
+ if (weatherSwipeViewList != nullptr)\r
{\r
- MainWeatherViewInit();\r
- /* -------------------------------------------------------------------------- */\r
- if (weatherSwipeViewList != nullptr)\r
+ UIView::OnClickListener *weatherOnClickListener = (UIView::OnClickListener *)OHOS::MainWeatherPresenter::GetInstance();\r
+ if (weatherOnClickListener == nullptr)\r
{\r
- UIView::OnClickListener *weatherOnClickListener = (UIView::OnClickListener *)OHOS::MainWeatherPresenter::GetInstance();\r
- if (weatherOnClickListener == nullptr)\r
- {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "weatherOnClickListener new fail");\r
- return;\r
- }\r
-\r
- UIView::OnDragListener *weatherOnDragListener = (UIView::OnDragListener *)OHOS::MainWeatherPresenter::GetInstance();\r
- if (weatherOnDragListener == nullptr)\r
- {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "weatherOnDragListener new fail");\r
- return;\r
- }\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "weatherOnClickListener new fail");\r
+ return;\r
+ }\r
\r
- UISwipeView::OnSwipeListener *weatherOnSwipeListener = (UISwipeView::OnSwipeListener *)OHOS::MainWeatherPresenter::GetInstance();\r
- if (weatherOnSwipeListener == nullptr)\r
- {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "weatherOnSwipeListener new fail");\r
- return;\r
- }\r
+ UIView::OnDragListener *weatherOnDragListener = (UIView::OnDragListener *)OHOS::MainWeatherPresenter::GetInstance();\r
+ if (weatherOnDragListener == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "weatherOnDragListener new fail");\r
+ return;\r
+ }\r
\r
- weatherSwipeViewList->SetOnClickListener(weatherOnClickListener);\r
- weatherSwipeViewList->SetOnDragListener(weatherOnDragListener);\r
- weatherSwipeViewList->SetOnSwipeListener(weatherOnSwipeListener);\r
+ UISwipeView::OnSwipeListener *weatherOnSwipeListener = (UISwipeView::OnSwipeListener *)OHOS::MainWeatherPresenter::GetInstance();\r
+ if (weatherOnSwipeListener == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "weatherOnSwipeListener new fail");\r
+ return;\r
}\r
- /* -------------------------------------------------------------------------- */\r
- RootView::GetInstance()->Add(weatherSwipeViewList);\r
+ weatherSwipeViewList->SetOnClickListener(weatherOnClickListener);\r
+ weatherSwipeViewList->SetOnDragListener(weatherOnDragListener);\r
+ weatherSwipeViewList->SetOnSwipeListener(weatherOnSwipeListener);\r
}\r
else\r
{\r
- getWeatherDataErrorView = new GetWeatherDataErrorView();\r
- if (getWeatherDataErrorView == nullptr)\r
+ UIView::OnDragListener *dragListener = static_cast<UIView::OnDragListener *>(MainWeatherPresenter::GetInstance());\r
+ if (dragListener == nullptr)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "getWeatherDataErrorView new fail!!");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "dragListener is nullptr!!");\r
return;\r
}\r
- RootView::GetInstance()->Add(getWeatherDataErrorView->GetWeatherDataErrorViewInit());\r
+ getWeatherDataErrorView->GetWeatherDataErrorViewInit()->SetOnDragListener(dragListener);\r
}\r
- /* -------------------------------------------------------------------------- */\r
+ /* --------------------------------- 添加按键监听 --------------------------------- */\r
RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::MainWeatherPresenter::GetInstance();\r
RootView::GetInstance()->SetOnKeyActListener(keyactListener);\r
+ /* -------------------------------------------------------------------------- */\r
}\r
\r
void MainWeatherView::OnSetUpView()\r
{\r
View<MainWeatherPresenter>::OnSetUpView();\r
-\r
Draw();\r
}\r
\r
void MainWeatherView::OnTearDownView()\r
{\r
-\r
View<MainWeatherPresenter>::OnTearDownView();\r
return;\r
}\r
return futureWeatherView;\r
}\r
\r
+ /*\r
+ * @brief 获取天气数据失败视图初始化\r
+ */\r
+ UIScrollView *MainWeatherView::WeatherDataErrorViewPageInit(void)\r
+ {\r
+ getWeatherDataErrorView = new GetWeatherDataErrorView();\r
+ if (getWeatherDataErrorView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "getWeatherDataErrorView new fail!!");\r
+ return nullptr;\r
+ }\r
+ return getWeatherDataErrorView->GetWeatherDataErrorViewInit();\r
+ }\r
+\r
struct MainWeatherViewMapper\r
{\r
const int16_t viewId;\r
RemoveAll();
if (mainWeatherView != nullptr)
{
- delete weatherOnSwipeListener;
- weatherOnSwipeListener = nullptr;
-
- delete mainWeatherView;
- mainWeatherView = nullptr;
+ if (weatherOnSwipeListener != nullptr)
+ {
+ delete weatherOnSwipeListener;
+ weatherOnSwipeListener = nullptr;
+ }
+
+ if (mainWeatherView != nullptr)
+ {
+ delete mainWeatherView;
+ mainWeatherView = nullptr;
+ }
}
}
}
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "WeatherView::new mainweatherView fail!");
return false;
}
- UISwipeView *weatherSwipView = mainWeatherView->MainWeatherViewInit();
- if (weatherSwipView == nullptr)
+
+ if (WeatherModel::GetInstance().GetWeatherDataIsValid())
{
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "mainWeatherView->MainWeatherViewInit() == nullptr!!");
- return false;
+ UISwipeView *weatherSwipView = dynamic_cast<UISwipeView *>(mainWeatherView->GetWeatherPageView());
+ if (weatherSwipView == nullptr)
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "mainWeatherView->MainWeatherViewInit() == nullptr!!");
+ return false;
+ }
+ weatherOnSwipeListener = static_cast<UISwipeView::OnSwipeListener *>(new WeatherControlViewOnSwipeListener());
+ if (weatherOnSwipeListener == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "weatherOnSwipeListener new fail");
+ return false;
+ }
+ weatherSwipView->SetOnSwipeListener(weatherOnSwipeListener);
+ Add(weatherSwipView);
}
- weatherOnSwipeListener = static_cast<UISwipeView::OnSwipeListener *>(new WeatherControlViewOnSwipeListener());
- if (weatherOnSwipeListener == nullptr)
+ else
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "weatherOnSwipeListener new fail");
- return false;
+ Add(mainWeatherView->GetWeatherPageView());
}
- weatherSwipView->SetOnSwipeListener(weatherOnSwipeListener);
- Add(weatherSwipView);
return true;
}
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-04-08 18:40:09
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-04-18 18:42:24
+ * @LastEditTime: 2024-05-10 11:27:16
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/weather/src/WeatherModel.cpp
*/
#include "weather/include/WeatherModel.h"
Weather_data_t_now.temp = temp;
Weather_data_t_now.iconNight = iconNight;
- WeatherModel::WEATHER_DATA_VALID = 1;
+ WeatherModel::GetInstance().SetWeatherDataIsValid(true);
}
/*
}
}
- void jsonCheck_weather(uint8_t *buf);
#if __cplusplus
}
#endif /* __cplusplus */
- static constexpr const char json_data[] =
- "{\"now\": {\"humidity\":89,\"windScale\":\"2\",\"textNight\":\"多云\",\"uvIndex\":3,\"temp\":24,\"iconNight\":4},"
- "\"address\": {\"lat\":225737664,\"atm\":\"1010\",\"city\":\"深圳\",\"subLocality\":\"宝安\",\"lon\":1138535138},"
- "\"daily\": [{\"tempMin\":22,\"iconDay\":6,\"fxDate\":1712505600,\"textDay\":\"阵雨\",\"tempMax\":29},"
- "{\"tempMax\":27,\"textDay\":\"多云\",\"iconDay\":3,\"fxDate\":1712592000,\"tempMin\":22},"
- "{\"tempMax\":29,\"fxDate\":1712678400,\"textDay\":\"多云\",\"iconDay\":3,\"tempMin\":22},"
- "{\"tempMin\":23,\"textDay\":\"多云\",\"fxDate\":1712764800,\"tempMax\":30,\"iconDay\":3},"
- "{\"fxDate\":1712851200,\"textDay\":\"多云\",\"iconDay\":3,\"tempMax\":31,\"tempMin\":24},"
- "{\"fxDate\":1712937600,\"iconDay\":3,\"tempMax\":31,\"tempMin\":24,\"textDay\":\"多云\"},"
- "{\"fxDate\":1713024000,\"textDay\":\"多云\",\"iconDay\":3,\"tempMax\":29,\"tempMin\":25}],"
- "\"code\":1}";
- //static constexpr const char json_data[] = "{\"now\":{\"humidity\":89,\"windScale\":\"2\",\"textNight\":\"多云\",\"uvIndex\":3,\"temp\":24,\"iconNight\":4},\"address\":{\"lat\":225737664,\"atm\":\"1010\",\"city\":\"深圳\",\"subLocality\":\"宝安\",\"lon\":1138535138},\"daily\":[{\"tempMin\":22,\"iconDay\":6,\"fxDate\":1712505600,\"textDay\":\"阵雨\",\"tempMax\":29},{\"tempMax\":27,\"textDay\":\"多云\",\"iconDay\":3,\"fxDate\":1712592000,\"tempMin\":22},{\"tempMax\":29,\"fxDate\":1712678400,\"textDay\":\"多云\",\"iconDay\":3,\"tempMin\":22},{\"tempMin\":23,\"textDay\":\"多云\",\"fxDate\":1712764800,\"tempMax\":30,\"iconDay\":3},{\"fxDate\":1712851200,\"textDay\":\"多云\",\"iconDay\":3,\"tempMax\":31,\"tempMin\":24},{\"fxDate\":1712937600,\"iconDay\":3,\"tempMax\":31,\"tempMin\":24,\"textDay\":\"多云\"},{\"fxDate\":1713024000,\"textDay\":\"多云\",\"iconDay\":3,\"tempMax\":29,\"tempMin\":25}],\"code\":1}";
- /* -------------------------------------------------------------------------- */
- uint8_t WeatherModel::WEATHER_DATA_VALID = 0;
WeatherModel::WeatherModel()
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "WeatherModel::WeatherModel");
- // jsonCheck_weather((uint8_t *)json_data);
}
WeatherModel::~WeatherModel()
void WeatherModel::InitFutureWeatherItem()
{
MainWeatherView *p_MainWeatherView = MainWeatherView::GetInstance();
- for (uint8_t i = 0; i < 7; i++)
+ if (p_MainWeatherView == nullptr)
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainWeatherView::GetInstance fail!!");
+ return;
+ }
+ for (uint8_t i = 0; i < DAYS_OF_THE_WEEK; i++)
{
FutureWeatherItem[i].iconDay = GetWeather_data_seven_data_iconDay(i);
FutureWeatherItem[i].fxDate = GetWeather_data_seven_data_fxDate(i);
FutureWeatherItem[i].tempMinAndMax = GetWeather_data_seven_data_tempMinAndtempMax(i);
- // FutureWeatherItem[i].tempMin = GetWeather_data_seven_data_tempMin(i);
- // FutureWeatherItem[i].tempMax = GetWeather_data_seven_data_tempMax(i);
p_MainWeatherView->GetFutureWeatherView()->AddFutureWeatherItemToList(FutureWeatherItem[i]);
}
}
void WeatherModel::TimestampToMonthDayString(time_t timestamp, char *buffer)
{
- // 将时间戳转换成tm结构
+ // 将时间戳转换成tm结构
struct tm timeinfo;
localtime_r(×tamp, &timeinfo);
/*获取湿度*/
std::string WeatherModel::GetHumidity()
{
- int humidity = Weather_data_t_now.humidity;
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "humidity:%d", humidity);
- return std::to_string(humidity);
+ std::string humidity = std::to_string(Weather_data_t_now.humidity) + "%";
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "humidity:%s", humidity.c_str());
+ return humidity;
}
/*获取风速*/
/*获取紫外线指数*/
std::string WeatherModel::GetUVIndex()
{
- std::string uvIndex = std::to_string(Weather_data_t_now.uvIndex) + "%";
+ std::string uvIndex = std::to_string(Weather_data_t_now.uvIndex);
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "uvIndex:%s", uvIndex.c_str());
return uvIndex;
}
+
+ // 设置天气数据是否有效
+ void WeatherModel::SetWeatherDataIsValid(bool value)
+ {
+ WEATHER_DATA_VALID = value;
+ }
+
+ // 获取天气数据是否有效
+ bool WeatherModel::GetWeatherDataIsValid()
+ {
+ return WEATHER_DATA_VALID;
+ }
}
\ No newline at end of file
label->SetPosition(labelconfig.left, labelconfig.top, labelconfig.width, labelconfig.height); // 位置大小\r
label->SetStyle(STYLE_TEXT_FONT, labelconfig.fontSize); // 字体大小\r
label->SetStyle(STYLE_LINE_HEIGHT, labelconfig.lineHeigh); // 字体行高\r
- label->SetText(labelconfig.text.c_str()); // 内容\r
+ label->SetText(labelconfig.text.c_str()); // 内容\r
+ label->SetLineBreakMode(labelconfig.lineBreakMode); // 断行模式。\r
+ label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, labelconfig.fontSize);\r
+ return label;\r
+ }\r
+\r
+ UILabelExt *WeatherReportView::SetUpLabelExt(LabelConfig &labelconfig)\r
+ {\r
+ UILabelExt *label = new UILabelExt();\r
+ if (label == nullptr)\r
+ {\r
+ return nullptr;\r
+ }\r
+ label->SetPosition(labelconfig.left, labelconfig.top, labelconfig.width, labelconfig.height); // 位置大小\r
+ label->SetStyle(STYLE_TEXT_FONT, labelconfig.fontSize); // 字体大小\r
+ label->SetStyle(STYLE_LINE_HEIGHT, labelconfig.lineHeigh); // 字体行高\r
+ label->SetTextId(labelconfig.textId); // 内容\r
label->SetLineBreakMode(labelconfig.lineBreakMode); // 断行模式。\r
- label->SetRollSpeed(40);\r
label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, labelconfig.fontSize);\r
return label;\r
bool WeatherReportView::WeatherReportViewLabelInit(void)\r
{\r
LabelConfig labelconfig = {\r
- .left = 93,\r
+ .left = 83,\r
.top = 52,\r
- .width = 280,\r
- .height = 47,\r
+ .width = 300,\r
+ .height = 35,\r
.fontSize = 30,\r
.lineHeigh = 35,\r
- .text = "气象报告",\r
+ //.text = "气象报告",\r
+ .textId = STR_WEATHER_REPORT,\r
.lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
};\r
- title = SetUpLabel(labelconfig);\r
+ title = SetUpLabelExt(labelconfig);\r
if (title == nullptr)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherReportView::title new fail!");\r
.height = 50,\r
.fontSize = 40,\r
.lineHeigh = 50,\r
- .text = p_WeatherModel->GetHumidity().c_str(),\r
+ .text = p_WeatherModel->GetUVIndex(), //紫外线强度\r
.lineBreakMode = UILabel::LINE_BREAK_ELLIPSIS,\r
};\r
UV_Number = SetUpLabel(labelconfig);\r
}\r
\r
labelconfig.left = 173;\r
- labelconfig.text = p_WeatherModel->GetWindScale();\r
+ labelconfig.text = p_WeatherModel->GetWindScale();//风速\r
WindSpeed_Number = SetUpLabel(labelconfig);\r
if (WindSpeed_Number == nullptr)\r
{\r
}\r
\r
labelconfig.left = 323;\r
- labelconfig.text = p_WeatherModel->GetUVIndex();\r
+ labelconfig.text = p_WeatherModel->GetHumidity().c_str(); //湿度\r
Humidity_Number = SetUpLabel(labelconfig);\r
if (Humidity_Number == nullptr)\r
{\r
.height = 35,\r
.fontSize = 26,\r
.lineHeigh = 35,\r
- .text = "紫外线",\r
+ //.text = "紫外线",\r
+ .textId = STR_ULTRAVIOLET,\r
.lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
};\r
- UV = SetUpLabel(labelconfig);\r
+ UV = SetUpLabelExt(labelconfig);\r
if (UV == nullptr)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherReportView::UV new fail!");\r
UV->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));\r
\r
labelconfig.left = 173;\r
- labelconfig.text = "风速";\r
- WindSpeed = SetUpLabel(labelconfig);\r
+ //labelconfig.text = "风速";\r
+ labelconfig.textId = STR_WIND_SPEED;\r
+ WindSpeed = SetUpLabelExt(labelconfig);\r
if (WindSpeed == nullptr)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherReportView::WindSpeed new fail!");\r
WindSpeed->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));\r
\r
labelconfig.left = 323;\r
- labelconfig.text = "湿度";\r
- Humidity = SetUpLabel(labelconfig);\r
+ //labelconfig.text = "湿度";\r
+ labelconfig.textId = STR_HUMIDITY;\r
+ Humidity = SetUpLabelExt(labelconfig);\r
if (Humidity == nullptr)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WeatherReportView::Humidity new fail!");\r
label->SetText(text);
label->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);
label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- label->SetRollSpeed(40);
label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, textfont);
return label;
}