#728表盘浏览特效滚筒预览显示英文,覆盖预览显示的是中文
authorCaisking <3449750381@qq.com>
Mon, 14 Oct 2024 11:33:51 +0000 (19:33 +0800)
committerCaisking <3449750381@qq.com>
Mon, 14 Oct 2024 11:33:51 +0000 (19:33 +0800)
code/sdk/application/wearable/fd230app/nativeui/set_dial/include/SetDialModel.h
code/sdk/application/wearable/fd230app/nativeui/set_dial/src/SetDialModel.cpp
code/sdk/application/wearable/fd230app/nativeui/set_dial/src/SetDialView.cpp

index a1f17db..e9d7020 100644 (file)
@@ -68,6 +68,8 @@ namespace OHOS
         void CreateDirectoryIfNotExists(const std::string &path);
         /*判断文件是否存在*/
         bool CheckFileExists(const std::string &filePath);
+        /*通过表盘名*/
+        std::string GetDialDescription(const std::string &dialName);
         /*获取自定义表盘名*/
         std::string GetCustomName(int Id);
         /*删除自定义表盘*/
index c1704bd..d304da6 100644 (file)
@@ -340,7 +340,7 @@ bool SetDialModel::UninstallDial(uint16_t ID) {
     switch (ID) {
     case DEFAULT_DIAL_ID:
     case MAX_DEFAULT_DIAL_ID:
-    case DEFAULT_DIAL_ID_0: 
+    case DEFAULT_DIAL_ID_0:
     case DEFAULT_DIAL_ID_1:
     case DEFAULT_DIAL_ID_2:
     case DEFAULT_DIAL_ID_3:
@@ -550,6 +550,21 @@ int32_t SetDialModel::ParseDialHeader(int type, const std::string &dialFileName,
   return 0;
 }
 
+/*通过表盘名找到描述*/
+std::string SetDialModel::GetDialDescription(const std::string &dialName) {
+  for (size_t i = 0; i < dialInfoList.size(); i++) {
+    if (dialInfoList[i].dialName == dialName) {
+      //判断是否为离线表盘
+      if (dialInfoList[i].dialFlag)
+        return dialInfoList[i].description;
+      else
+        return dialInfoList[i].dialName;
+    }
+  }
+  //未找到
+  return "";
+}
+
 /*设置当前表盘*/
 void SetDialModel::SaveDialSetting(uint8_t pageIndex) {
   if (pageIndex >= dialInfoList.size()) {
index 1a20e52..f4657e3 100644 (file)
@@ -211,7 +211,10 @@ namespace OHOS
         float maxAngle = baseAngle / rollerItemNum_;
         float coef = 1.0 - 1.0 / (maxAngle)*currentItemAngle;
         label_.SetStyle(STYLE_TEXT_OPA, coef * OPA_OPAQUE);
-        label_.SetText(currentItemName.c_str());
+        // label_.SetText(currentItemName.c_str());
+        std ::string dialnamestr = SetDialModel::GetInstance().GetDialDescription(currentItemName);
+        // printf("currentItemName %s\n", dialnamestr.c_str());
+        label_.SetText(dialnamestr.c_str());
         std::vector<SetDialInfo> &dialInfo = presenter_->GetDialInfo();
         for (uint8_t i = 0; i < dialInfo.size(); ++i)
         {