From: luozheng <1732036298@qq.com> Date: Sat, 30 Mar 2024 11:09:41 +0000 (+0800) Subject: 将语言切换slice移到系统 X-Git-Tag: release_V1.2.70_20241020_135402~1245^2~3 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=f985ad17c9001a08a19177cb3aaaa7b5598caad7;p=mirrors%2FFD230.git 将语言切换slice移到系统 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/language/src/LanguageSwitchListAdapter.cpp b/code/sdk/application/wearable/fd230app/nativeui/language/src/LanguageSwitchListAdapter.cpp index 1eea53e91..880b781b6 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/language/src/LanguageSwitchListAdapter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/language/src/LanguageSwitchListAdapter.cpp @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-03-28 14:27:05 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-03-30 16:32:43 + * @LastEditTime: 2024-03-30 17:37:29 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/language/src/LanguageSwitchListAdapter.cpp */ #include "language/include/LanguageSwitchListAdapter.h" @@ -56,7 +56,7 @@ namespace OHOS UIView *LanguageSwitchListAdapter::GetView(UIView *inView, int16_t index) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "LanguageSwitchListAdapter::GetView,index %d", index); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "LanguageSwitchListAdapter::GetView,index %d", index); // 1.先检查列表数据是否为空,若为空则返回空指针 if (listData.empty()) { diff --git a/code/sdk/application/wearable/fd230app/nativeui/language/src/LanguageSwitchListitemView.cpp b/code/sdk/application/wearable/fd230app/nativeui/language/src/LanguageSwitchListitemView.cpp index 71b0771bb..114c4d550 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/language/src/LanguageSwitchListitemView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/language/src/LanguageSwitchListitemView.cpp @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-03-28 14:28:03 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-03-30 14:51:46 + * @LastEditTime: 2024-03-30 17:37:32 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/language/src/LanguageSwitchListitemView.cpp */ #include "language/include/LanguageSwitchListitemView.h" @@ -30,7 +30,7 @@ namespace OHOS void LanguageSwitchListitemView::SetItemInfo(const Language itemInfo) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "LanguageSwitchListitemView::SetItemInfo"); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "LanguageSwitchListitemView::SetItemInfo"); m_LabelButtonExt.SetViewId(itemInfo.code); m_LabelButtonExt.SetText(itemInfo.name); } diff --git a/code/sdk/application/wearable/fd230app/nativeui/language/src/LanguageSwitchView.cpp b/code/sdk/application/wearable/fd230app/nativeui/language/src/LanguageSwitchView.cpp index 763e649f9..1a15db96f 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/language/src/LanguageSwitchView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/language/src/LanguageSwitchView.cpp @@ -4,11 +4,18 @@ namespace OHOS { + static constexpr int16_t TITLE_LABEL_X = 133; + static constexpr int16_t TITLE_LABEL_Y = 52; + static constexpr int16_t TITLE_LABEL_W = 20; + static constexpr int16_t TITLE_LABEL_H = 40; + + static constexpr int16_t LANGUAGE_LIST_X = 43; static constexpr int16_t LANGUAGE_LIST_Y = 120; static constexpr int16_t NUM_2 = 2; static constexpr int16_t MAX_SCROLL_DIS = 1000; static constexpr int16_t MAX_REBOUND_SIZE = 40; + static constexpr int16_t MAX_LANGUAGE_LIST_SCROLLBLANKSIZE = 50; static LanguageSwitchView *g_pLanguageSwitchView{nullptr}; LanguageSwitchView::LanguageSwitchView() { @@ -65,6 +72,8 @@ namespace OHOS return false; } LanguageSwitchScrollView->SetOnDragListener(draglistener); + LanguageSwitchScrollView->SetScrollBlankSize(MAX_LANGUAGE_LIST_SCROLLBLANKSIZE); + LanguageSwitchScrollView->SetHorizontalScrollState(false); LanguageSwitchScrollView->SetTouchable(true); LanguageSwitchScrollView->SetDraggable(true); @@ -79,12 +88,11 @@ namespace OHOS WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "LanguageSwitchView::LanguageSwitchViewTitleLabel new fail!"); return false; } - LanguageSwitchViewTitleLabel->SetPosition(133, 52, 200, 40); + LanguageSwitchViewTitleLabel->SetPosition(TITLE_LABEL_X, TITLE_LABEL_Y, TITLE_LABEL_W, TITLE_LABEL_H); LanguageSwitchViewTitleLabel->SetStyle(STYLE_TEXT_FONT, 30); LanguageSwitchViewTitleLabel->SetStyle(STYLE_LINE_HEIGHT, 35); // LanguageSwitchViewTitleLabel->SetText("语言"); LanguageSwitchViewTitleLabel->SetTextId(0); - LanguageSwitchViewTitleLabel->ForceResetText(); LanguageSwitchViewTitleLabel->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE); LanguageSwitchViewTitleLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); LanguageSwitchViewTitleLabel->SetRollSpeed(40); @@ -111,7 +119,7 @@ namespace OHOS } LanguageList->SetPosition(LANGUAGE_LIST_X, LANGUAGE_LIST_Y, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION); LanguageList->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000); - LanguageList->SetScrollBlankSize(MAX_REBOUND_SIZE); + LanguageList->SetScrollBlankSize(MAX_LANGUAGE_LIST_SCROLLBLANKSIZE); LanguageList->EnableAutoAlign(true); // 设置此列表的自动对齐状态。当滚动停止时,子视图被选中,其位置自动与预设位置对齐 LanguageList->SetThrowDrag(true); // 设置手指抬起屏幕后是否继续滚动。 LanguageList->SetMaxScrollDistance(MAX_SCROLL_DIS); // 设置手指抬起屏幕后的最大滚动距离。 @@ -153,7 +161,7 @@ namespace OHOS RootView::GetInstance()->Add(LanguageSwitchScrollView); LanguageList->SetAdapter(p_LanguageSwitchListAdapter); WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "%d", p_LanguageSwitchListAdapter->GetCount()); - + LanguageSwitchViewTitleLabel->ForceResetText(); Draw(); } diff --git a/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemPresenter.h b/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemPresenter.h index e1dc25718..01c151e47 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemPresenter.h +++ b/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemPresenter.h @@ -67,7 +67,7 @@ namespace OHOS virtual ~SystemPresenter(); void OnStart() override; - //void OnPause() override; + void OnPause() override; void OnResume() override; void OnStop() override; diff --git a/code/sdk/application/wearable/fd230app/nativeui/system/src/SystemPresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/system/src/SystemPresenter.cpp index aa995c18e..e5c31adf0 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/system/src/SystemPresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/system/src/SystemPresenter.cpp @@ -1,6 +1,6 @@ #include "AppViewIDs.h" #include "components/ui_label_ext.h" -#include"language/font/ui_resource_string.h" +#include "language/font/ui_resource_string.h" #include "NativeAbility.h" #include "graphic_math.h" #include "string.h" @@ -23,11 +23,10 @@ namespace OHOS bool enable_falg; }; - // 2.ViewMapper[] 是一个静态的视图映射数组,将视图ID与MainStopWatchView类中的特定成员函数指针进行了绑定。 static SystemView_ext_p ViewMapper_t[] = { {ABOUTTHEWATCHVIEW, "AboutTheWatchButton", true}, {SUPERVISEVIEW, "SuperviseButton", true}, - {SYSTEMLANGUAGEVIEW, "SystemLanguageButton", true}, + {SYSTEMLANGUAGEVIEW, "SystemLanguageButton", false}, {FACTORYRESETVIEW, "FactoryResetButton", true}, {SYSTEMLUPGRADE, "systemupgread", true}, }; @@ -60,14 +59,17 @@ namespace OHOS Presenter::OnStart(); } - static uint32_t time=0; - static uint32_t OnClick_num=0; + void SystemPresenter::OnPause(void) + { + Presenter::OnPause(); + } + + static uint32_t time = 0; + static uint32_t OnClick_num = 0; bool SystemPresenter::OnPress(UIView &view, const PressEvent &event) { - - - + return true; } void SystemPresenter::OnResume(void) @@ -113,54 +115,58 @@ namespace OHOS // int len=5; // 根据控件id查找是哪个控件触发了点击回调 - if(strcmp(view.GetViewId(), "SystemAboutTheWatchTitle")==0) - { + if (strcmp(view.GetViewId(), "SystemAboutTheWatchTitle") == 0) + { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemAboutTheWatchTitle"); - if(time==0) + if (time == 0) { time = event.GetTimeStamp(); - OnClick_num=1; - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "222 %d",time); + OnClick_num = 1; + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "222 %d", time); } else { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "111 %d",event.GetTimeStamp()); - if(event.GetTimeStamp() -time<1000) + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "111 %d", event.GetTimeStamp()); + if (event.GetTimeStamp() - time < 1000) { OnClick_num++; - - if(OnClick_num>5) + + if (OnClick_num > 5) { NativeAbility::GetInstance().ChangeSlice(VIEW_TEST); } } else { - time =0; + time = 0; } } return true; } - - + + if (strcmp(view.GetViewId(), "SystemLanguageButton") == 0) + { + NativeAbility::GetInstance().ChangeSlice(VIEW_LANGUAGE_SWITCH); + return true; + } + for (int i = 0; i < len; i++) { if (strcmp(view.GetViewId(), ViewMapper_t[i].viewid_str) == 0) { if (i == 5) { - + break; } if (ViewMapper_t[i].enable_falg == true) SystemView::GetInstance()->ChangeView(SYSTEMVIEW, ViewMapper_t[i].viewId); - time=0; + time = 0; return true; } } - if (strcmp(view.GetViewId(), FACTORYRESET_CHECKON) == 0) { p_SystemView->ChangeView(FACTORYRESETVIEW, SYSTEMVIEW); @@ -183,7 +189,7 @@ namespace OHOS NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING); isSystemUpgradeState = false; } - return false; + return true; } // 该拖拽是用来处理系统视图(slice)的左滑退出事件和子视图的左滑退出到系统视图区分开 @@ -276,6 +282,11 @@ namespace OHOS if (keyID == static_cast(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0) { uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId(); + if (preSlice == VIEW_LANGUAGE_SWITCH) + { + NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING); + return true; + } NativeAbility::GetInstance().ChangeSlice(preSlice); } }