From 590a3aaef2e7dc800eb58f36eac66ca80f6fb794 Mon Sep 17 00:00:00 2001 From: luozheng <1732036298@qq.com> Date: Wed, 25 Sep 2024 15:02:17 +0800 Subject: [PATCH] =?utf8?q?=E8=AE=BE=E7=BD=AE=E7=95=8C=E9=9D=A2=E4=BC=98?= =?utf8?q?=E5=8C=96=EF=BC=8C#810,=E8=A7=A3=E5=86=B3=20=E8=AE=BE=E7=BD=AE-?= =?utf8?q?=E7=95=8C=E9=9D=A2=E6=98=BE=E7=A4=BA=E4=B8=8A=E9=83=A8=E5=88=86?= =?utf8?q?=E6=9C=89=E7=A9=BA=E7=99=BD=EF=BC=8C=E7=82=B9=E8=BF=9B=E5=8E=BB?= =?utf8?q?=E5=B0=B1=E6=9C=89=EF=BC=8C=E5=88=A0=E9=99=A4=E7=A9=BA=E7=99=BDb?= =?utf8?q?ug?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../nativeui/settings/src/SettingItemView.cpp | 55 +++++++++++---- .../nativeui/settings/src/SettingModel.cpp | 5 +- .../nativeui/settings/src/SettingView.cpp | 69 ++++++++----------- 3 files changed, 71 insertions(+), 58 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingItemView.cpp b/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingItemView.cpp index 698c286f3..b01996300 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingItemView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingItemView.cpp @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-03-27 19:48:49 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-09-20 15:44:27 + * @LastEditTime: 2024-09-25 14:49:58 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingItemView.cpp */ @@ -11,20 +11,24 @@ #include "systemupdate/include/SystemUpdateModel.h" namespace OHOS { - static constexpr int16_t SETTING_ICON_X = 19; + static constexpr int16_t SETTING_ICON_X = 19 + 43; static constexpr int16_t SETTING_SICON_Y = 19; static constexpr int16_t SETTING_SICON_W = 62; static constexpr int16_t SETTING_SICON_H = 62; - static constexpr int16_t SETTINGLABELEXT_X = 115; + static constexpr int16_t SETTINGLABELEXT_X = 115 + 43; static constexpr int16_t SETTINGLABELEXT_Y = 33; static constexpr int16_t SETTINGLABELEXT_W = 180; static constexpr int16_t SETTINGLABELEXT_H = 35; + static constexpr int16_t SETTINGLABELEXT_X2 = 83; + static constexpr int16_t SETTINGLABELEXT_Y2 = 50; + static constexpr int16_t SETTINGLABELEXT_W2 = 300; + static constexpr int16_t SETTINGLABELEXT_H2 = 35; static constexpr int16_t SETTINGLABELEXT_TEXT_FONT = 30; static constexpr int16_t SETTINGLABELEXT_LINE_HEIGHT = 35; static constexpr int16_t SETTINGLABELEXT_ROLLSPEED = 70; - static constexpr int16_t SETTINGLABELBUTTONEXT_X = 0; + static constexpr int16_t SETTINGLABELBUTTONEXT_X = 43; static constexpr int16_t SETTINGLABELBUTTONEXT_Y = 0; static constexpr int16_t SETTINGLABELBUTTONEXT_W = 380; static constexpr int16_t SETTINGLABELBUTTONEXT_H = 100; @@ -33,10 +37,9 @@ namespace OHOS SettingItemView::SettingItemView() { - SetPosition(43, 120, 380, 120); + SetPosition(43, 120, 466, 120); SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full); SetStyle(STYLE_BACKGROUND_OPA, UN_OPACITY); - SetTouchable(true); SetUpChild(); Add(&settingLabelButtonExt); Add(&settingLabelExt); @@ -45,17 +48,44 @@ namespace OHOS SettingItemView::~SettingItemView() { - // Remove(&settingLabelButtonExt); - // Remove(&settingLabelExt); - // Remove(&Icon); RemoveAll(); } void SettingItemView::SetItemInfo(const SettingItem itemInfo) { sItemInfo = itemInfo; - Icon.SetSrc(itemInfo.icon); - settingLabelExt.SetTextId(itemInfo.textId); + if (itemInfo.hasSecondMenu) + { + Icon.SetVisible(true); + Icon.SetSrc(itemInfo.icon); + settingLabelExt.SetVisible(true); + settingLabelExt.SetPosition(SETTINGLABELEXT_X, SETTINGLABELEXT_Y, SETTINGLABELEXT_W, SETTINGLABELEXT_H); + settingLabelExt.SetTextId(itemInfo.textId); + settingLabelExt.SetAlign(TEXT_ALIGNMENT_LEFT, TEXT_ALIGNMENT_CENTER); + settingLabelButtonExt.SetVisible(true); + SetHeight(120); + SetTouchable(true); + } + else + { + + Icon.SetVisible(false); + if (itemInfo.viewId == VIEW_INVALID && itemInfo.textId == STR_MAX_ID) + { + settingLabelExt.SetVisible(false); + SetHeight(60); + } + else + { + settingLabelExt.SetVisible(true); + SetHeight(120); + } + settingLabelExt.SetPosition(SETTINGLABELEXT_X2, SETTINGLABELEXT_Y2, SETTINGLABELEXT_W2, SETTINGLABELEXT_H2); + settingLabelExt.SetTextId(itemInfo.textId); + settingLabelExt.SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); + settingLabelButtonExt.SetVisible(false); + SetTouchable(false); + } if (itemInfo.textId == STR_SYSTEM && SystemUpdateModel::GetInstance().IsLatestVersion() == false) // 如果不是最新系统版本出现小圆点 { @@ -67,9 +97,6 @@ namespace OHOS { Icon.SetPosition(SETTING_ICON_X, SETTING_SICON_Y, SETTING_SICON_W, SETTING_SICON_H); Icon.SetStyle(STYLE_IMAGE_OPA, OPA_OPAQUE); - // Icon.SetAutoEnable(false); - // Icon.SetResizeMode(UIImageView::SCALE_DOWN); - // Icon.SetStyle(STYLE_BORDER_RADIUS, 100); settingLabelExt.SetPosition(SETTINGLABELEXT_X, SETTINGLABELEXT_Y, SETTINGLABELEXT_W, SETTINGLABELEXT_H); settingLabelExt.SetStyle(STYLE_TEXT_FONT, SETTINGLABELEXT_TEXT_FONT); diff --git a/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingModel.cpp index 1bfbc3622..6e09757e7 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingModel.cpp @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-02-18 09:09:13 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-09-14 19:58:19 + * @LastEditTime: 2024-09-25 14:20:13 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingModel.cpp */ #include "settings/include/SettingModel.h" @@ -30,6 +30,7 @@ namespace OHOS void SettingModel::InitSettingItem() { int index = 0; + settings[index++] = {VIEW_SETTING, nullptr, STR_SETTINGS, false};//标题:设置 settings[index++] = {VIEW_DISPLAY_BRIGHTNESS, PNG_SETTINGS_DISPLAY_BRIGHTNESS, STR_SCREEN_AND_BRIGHTNESS, true}; settings[index++] = {VIEW_NETWORKANDCALL, PNG_SETTINGS_NETWORKANDCALL, STR_NETWORKANDCALL, true}; settings[index++] = {VIEW_CLASSIC_BLUETOOTH, PNG_SETTINGS_BLUETOOTH, STR_BLUETOOTH, true}; @@ -41,7 +42,7 @@ namespace OHOS settings[index++] = {VIEW_SET_DIAL_STYLE, PNG_SETTINGS_CHANGEDIAL_IMAGE, STR_DIAL_BROWSING_SPECIAL_EFFECTS, true}; settings[index++] = {VIEW_SAVEELE, PNG_SETTINGS_SAVEELE_IMAGE, STR_POWER_SAVE_MODE, true}; settings[index++] = {VIEW_SYSTEM, PNG_SETTINGS_SYSTEM, STR_SYSTEM, true}; - // settings[index++] = {VIEW_REBOOTANDSHUTDOWN, PNG_SETTINGS_SHUTDOWN_AND_RESTART, STR_SHUTDOWN_AND_RESTART, true}; + settings[index++] = {VIEW_INVALID, nullptr, STR_MAX_ID, false}; usedLen = index; } diff --git a/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingView.cpp b/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingView.cpp index 9bd7ca5fb..94b7347f7 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingView.cpp @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-07-12 09:55:29 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-09-20 20:42:55 + * @LastEditTime: 2024-09-25 14:53:50 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingView.cpp */ @@ -17,12 +17,12 @@ namespace OHOS static constexpr int16_t SETTING_TITLE_POSITION_X = 83; static constexpr int16_t SETTING_TITLE_POSITION_Y = 52; static constexpr int16_t SETTING_TITLE_SIZE_WIDTH = 300; - static constexpr int16_t SETTING_TITLE_SIZE_HEIGHT = 40; + static constexpr int16_t SETTING_TITLE_SIZE_HEIGHT = 35; static constexpr uint8_t SETTINGS_TITLE_FONT_SIZE = 30; // 字体大小 static constexpr uint8_t SETTINGS_TITLE_FONT_HEIGHT = 35; // 字体高度 /* --------------------------------- 设置List --------------------------------- */ - static constexpr int16_t SETTING_LIST_POSITION_X = 43; - static constexpr int16_t SETTING_LIST_POSITION_Y = 120; + static constexpr int16_t SETTING_LIST_POSITION_X = 0; + static constexpr int16_t SETTING_LIST_POSITION_Y = 0; static constexpr int16_t SETTING_SCROLLBLANKSIZE = 50; // 设置此滚动视图的空白大小。 static constexpr int16 MAX_SCR_DIS = 1000; static constexpr int16 LIST_POS = 20; @@ -50,11 +50,6 @@ namespace OHOS if (scrollView != nullptr) { scrollView->RemoveAll(); - if (title != nullptr) - { - delete title; - title = nullptr; - } if (listAdapter != nullptr) { delete listAdapter; @@ -78,13 +73,16 @@ namespace OHOS { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingView::CreateSettingView"); /* -------------------------------------------------------------------------- */ - scrollView = new UIScrollView(); if (scrollView == nullptr) { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingView::OnStart::scrollView is nullptr"); - return; + scrollView = new UIScrollView(); + if (scrollView == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SettingView::OnStart::scrollView is new fail!!"); + return; + } } - scrollView->SetPosition(0, 0, 466, 466); + scrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight()); scrollView->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full); scrollView->SetStyle(STYLE_BACKGROUND_OPA, UN_OPACITY); scrollView->SetHorizontalScrollState(false); @@ -92,51 +90,38 @@ namespace OHOS scrollView->SetThrowDrag(true); scrollView->SetOnDragListener(presenter_); /* -------------------------------------------------------------------------- */ - title = new UILabelExt(); - if (title == nullptr) - { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingView::OnStart::title is nullptr"); - return; - } - title->SetPosition(SETTING_TITLE_POSITION_X, SETTING_TITLE_POSITION_Y, SETTING_TITLE_SIZE_WIDTH, SETTING_TITLE_SIZE_HEIGHT); - title->SetTextId(STR_SETTINGS); /*设置*/ - title->SetStyle(STYLE_TEXT_FONT, SETTINGS_TITLE_FONT_SIZE); - title->SetStyle(STYLE_LINE_HEIGHT, SETTINGS_TITLE_FONT_HEIGHT); - title->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION); - title->SetRollSpeed(ROLLSPEED); - title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, SETTINGS_TITLE_FONT_SIZE); - title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); - title->SetStyle(STYLE_TEXT_OPA, OPA_OPAQUE); - title->SetStyle(STYLE_TEXT_COLOR, Color::White().full); - title->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full); - title->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE); - - listAdapter = new SettingAdapter(); if (listAdapter == nullptr) { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingView::OnStart::listAdapter is nullptr"); - return; + listAdapter = new SettingAdapter(); + if (listAdapter == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SettingView::OnStart::listAdapter is new fail!!"); + return; + } } listAdapter->SetItemClickListener(presenter_); - contentList = new UIList(UIList::VERTICAL); + /* -------------------------------------------------------------------------- */ if (contentList == nullptr) { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingView::OnStart::contentList is nullptr"); - return; + contentList = new UIList(UIList::VERTICAL); + if (contentList == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SettingView::OnStart::contentList is new fail!!"); + return; + } } - contentList->SetPosition(SETTING_LIST_POSITION_X, SETTING_LIST_POSITION_Y, HORIZONTAL_RESOLUTION, 346); + contentList->SetPosition(SETTING_LIST_POSITION_X, SETTING_LIST_POSITION_Y, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION); contentList->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000); contentList->EnableAutoAlign(true); // 设置此列表的自动对齐状态。当滚动停止时,子视图被选中,其位置自动与预设位置对齐 contentList->SetThrowDrag(true); // 设置手指抬起屏幕后是否继续滚动。 contentList->SetMaxScrollDistance(1000); // 设置手指抬起屏幕后的最大滚动距离。 contentList->SetSwipeACCLevel(800); /*设置手指抬起屏幕后的补偿距离。*/ - contentList->SetReboundSize(30); - contentList->SetScrollBlankSize(30); + // contentList->SetReboundSize(30); + // contentList->SetScrollBlankSize(30); FocusManager::GetInstance()->RequestFocus(contentList); FocusManager::GetInstance()->RequestFocusByDirection(FOCUS_DIRECTION_UP); contentList->SetRotateFactor(1.0); /* ----------------------------------- Add ---------------------------------- */ - scrollView->Add(title); scrollView->Add(contentList); container_->Add(scrollView); } -- 2.17.1