优化下拉星期显示,若当前系统为中文则显示中文,否则用星期的缩写表示
authorluozheng <1732036298@qq.com>
Fri, 23 Aug 2024 03:53:06 +0000 (11:53 +0800)
committerluozheng <1732036298@qq.com>
Fri, 23 Aug 2024 03:53:06 +0000 (11:53 +0800)
如:ch:星期五 other:Fri

code/sdk/application/wearable/fd230app/nativeui/main/include/MainPresenterSample.h
code/sdk/application/wearable/fd230app/nativeui/main/src/MainPresenterSample.cpp
code/sdk/application/wearable/fd230app/nativeui/main/src/PullUpDownView.cpp

index a815fde..e5f8314 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-03-01 15:10:34
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-06-29 11:19:40
+ * @LastEditTime: 2024-08-23 11:41:32
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/include/MainPresenterSample.h
  */
 
@@ -78,6 +78,7 @@ namespace OHOS
         void InitDialSettings(void);
         DialSetting &GetDialSetting();
         void UpdataTime();
+        uint32_t GetWeekStr(char *p_week);
         void UpdataBaseData();
         void PullUpDown_StartTimer(uint32_t interval);
         void PullUpDown_StopTimer(void);
index 520899c..eb28df0 100644 (file)
@@ -38,6 +38,7 @@
 #include "DialViewGroup.h"
 #endif
 #include "ui_service.h"
+#include "time.h"
 #define TESTCHECK 0
 namespace OHOS
 {
@@ -491,6 +492,29 @@ namespace OHOS
         // free(timeStr);
     }
 
+    static const char *weekDays_ch[] = {"星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
+    static const char *weekDays_other[] = {"Sun", "Mon", "Tue", "Wed", "Thur", "Fri", "Sat"};
+    uint32_t MainPresenterSample::GetWeekStr(char *p_week)
+    {
+        time_t currtime;
+        struct tm *timeinfo;
+        time(&currtime);
+        timeinfo = localtime(&currtime);
+
+        // 获取星期信息
+        int  language = ConfigModel::GetInstance()->GetLanguage();
+        if(language == 0)
+        {
+            strcpy(p_week, weekDays_ch[timeinfo->tm_wday]);
+        }
+        else
+        {
+            strcpy(p_week, weekDays_other[timeinfo->tm_wday]);
+        }
+
+        return ERRCODE_SUCC; // 假设成功获取星期信息
+    }
+
     void MainPresenterSample::UpdataBaseData()
     {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UpdataBaseData");
@@ -513,7 +537,7 @@ namespace OHOS
         }
         // 解析星期信息
         char *weekStr = (char *)malloc(10);
-        if (uapi_get_WeekStr(weekStr) != ERRCODE_SUCC)
+        if (GetWeekStr(weekStr) != ERRCODE_SUCC)
         {
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Failed to get week information");
             free(dateStr);
index 37d1ae0..10b0c7c 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-06-26 18:14:24
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-08-23 10:37:57
+ * @LastEditTime: 2024-08-23 11:38:09
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/src/PullUpDownView.cpp
  */
 
@@ -458,11 +458,11 @@ namespace OHOS
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showDateAndWeekLabel new fail");
             return;
         }
-        showDateAndWeekLabel->SetPosition(128, 130, 210, 30);
+        showDateAndWeekLabel->SetPosition(83, 130, 300, 35);
         showDateAndWeekLabel->SetStyle(STYLE_TEXT_FONT, 30);
         showDateAndWeekLabel->SetStyle(STYLE_LINE_HEIGHT, 35);
         showDateAndWeekLabel->SetTextColor(Color::GetColorFromRGBA(0xaa, 0xaa, 0xaa, 0xff));
-        showDateAndWeekLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
+        showDateAndWeekLabel->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);
         showDateAndWeekLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
         showDateAndWeekLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
         group[DROPDOWNVIEW]->Add(showDateAndWeekLabel);