From: luozheng Date: Thu, 8 Feb 2024 12:22:34 +0000 (+0800) Subject: 屏幕与亮度视图修改 X-Git-Tag: release_V1.2.70_20241020_135402~1307^2 X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.css?a=commitdiff_plain;h=5c23128cfc45a7b2ade62013d81cf5c395d1422c;p=mirrors%2FFD230.git 屏幕与亮度视图修改 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessPresenter.h b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessPresenter.h index f75f34239..62ff1bb3b 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessPresenter.h +++ b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessPresenter.h @@ -4,31 +4,36 @@ /*显示与亮度*/ #include "Presenter.h" #include "DisplayBrightnessView.h" - + namespace OHOS { + static const char *BRINGHTNESSCONTROLBUTTON_VIEW = "BRINGHTNESSCONTROLBUTTON"; // 亮度调节按钮视图id + static const char *SCREENDURATIONBUTTON_VIEWID = "SCREENDURATIONBUTTON"; // 亮屏时长按钮视图id + static const char *RAISETOBRIGHTNESSCHECKBOXBUTTON_VIEWID = "RAISETOBRIGHTNESSCHECKBOXBUTTON"; // 抬腕亮屏checkbox按钮视图id class DisplayBrightnessView; - class DisplayBrightnessPresenter : public Presenter, - public UIView::OnClickListener, - public UIView::OnDragListener + public UIView::OnClickListener, + public UIView::OnDragListener, + public UICheckBox::OnChangeListener { public: DisplayBrightnessPresenter(); virtual ~DisplayBrightnessPresenter(); - - void OnStart() override; - void OnPause() override; - void OnResume() override; - void OnStop() override; - - static DisplayBrightnessPresenter *GetInstance(); - + + void OnStart() override; + void OnPause() override; + void OnResume() override; + void OnStop() override; + + static DisplayBrightnessPresenter *GetInstance(); + private: - //因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承; - bool OnClick(UIView &view, const ClickEvent &event) override; - bool OnDrag(UIView &view, const DragEvent &event) override; + // 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承; + bool OnClick(UIView &view, const ClickEvent &event) override; + bool OnDrag(UIView &view, const DragEvent &event) override; + bool OnDragEnd(UIView &view, const DragEvent &event) override; + bool OnChange(UICheckBox::UICheckBoxState state) override; }; -} //namespace OHOS - -#endif //_DisplayBrightness_PRESENTER_H +} // namespace OHOS + +#endif //_DisplayBrightness_PRESENTER_H diff --git a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessView.h b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessView.h index 7ff8c81e9..3f717634f 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessView.h +++ b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessView.h @@ -3,48 +3,91 @@ #include "BaseView.h" #include "View.h" -#include "components/ui_view_group.h" #include "components/ui_label.h" #include "components/ui_image_view.h" #include "components/ui_button.h" #include "components/ui_scroll_view.h" #include "components/ui_checkbox.h" -#include "components/ui_toggle_button.h" #include "DisplayBrightnessPresenter.h" namespace OHOS { - + class DisplayBrightnessPresenter; class DisplayBrightnessView : public View { public: + struct ImageConfig + { + int16_t x; + int16_t y; + int16_t w; + int16_t h; + const char *ImageSrc; + }; + struct ButtonConfig + { + int16_t x; + int16_t y; + int16_t w; + int16_t h; + const char *ViewId; + const char *ImageSrc; + }; + struct LabelConfig + { + int16_t left; + int16_t top; + int16_t width; + int16_t height; + int16_t fontSize; // 字体大小 + int16_t lineHeigh; // 行高 + const char *text; // 文本 + uint8_t lineBreakMode; // 断行模式。 + }; + struct CheckBoxConfig + { + int16_t x; + int16_t y; + int16_t w; + int16_t h; + const char *ViewId; + const char *select; + const char *unselect; + }; DisplayBrightnessView(); virtual ~DisplayBrightnessView(); static DisplayBrightnessView *GetInstance(void); + void DisplayAndBrightnessViewInit(void); + void ClearAll(void); + public: void OnStart() override; void OnSetUpView() override; void OnTearDownView() override; void OnStop() override; private: - UIView::OnDragListener *draglistener{nullptr}; - void Init(void); - - UIViewGroup *DisplayBrightness_container = nullptr; - UIScrollView *DisplayBrightness_scrollView = nullptr; - UIButton *ScreenDuration_Button = nullptr; - UIButton *BringhtnessControl_Button = nullptr; - UILabel *BringhtnessContuol_Label = nullptr; - UIImageView *BringhtnessContuol_Image = nullptr; - UIImageView *ScreenDuration_Image = nullptr; - UIImageView *imag =nullptr; - UIImageView *imag1 =nullptr; - UIImageView *RaiseToBrightness_Image = nullptr; - UICheckBox *RaiseToBrightness_CheckBoxButton = nullptr; - UILabel *RaiseToBrightness_Label = nullptr; - UILabel *ScreenDuration_Label = nullptr; - UILabel *DisplayBrightness_Label = nullptr; + bool SetUpScrollView(void); + bool SetTheTitle(void); + UIButton *SetTheButton(ButtonConfig &buttonconfig, UIView::OnClickListener *clickListener); + bool InitDisplayBrightnessViewButton(void); + UILabel *SetUpLabel(LabelConfig &labelconfig); // 设置标签 + bool InitDisplayBrightnessViewLabel(void); + UIImageView *SetUpImageView(ImageConfig &imageconfig); // 设置图片 + bool InitDisplayBrightnessViewImage(void); + UICheckBox *SetUpCheckBox(CheckBoxConfig &checkboxconfig); // 设置复选框 + bool InitDisplayBrightnessViewCheckBox(void); + UIScrollView *scrollView = nullptr; + UILabel *DisplayBrightnessTitleLabel = nullptr; // 显示与亮度标题 + UIButton *BringhtnessControlButton = nullptr; // 亮度调节按钮 + UIButton *ScreenDurationButton = nullptr; // 亮屏时长按钮 + UILabel *BringhtnessControlLabel = nullptr; // 亮度调节标签 + UILabel *ScreenDurationLabel = nullptr; // 亮屏时长标签 + UILabel *RaiseToBrightnessLabel = nullptr; // 抬腕亮屏标签 + UIImageView *NextImage[2]{nullptr}; + UIImageView *RaiseToBrightnessImage = nullptr; // 抬腕亮屏图片 + UICheckBox *RaiseToBrightnessCheckBoxButton = nullptr; + bool initViewStatus{false}; }; } // namespace OHOS #endif // DisplayBrightness_PRESENTER_H diff --git a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessPresent.cpp b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessPresent.cpp index e8b18ae28..276e06767 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessPresent.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessPresent.cpp @@ -50,31 +50,49 @@ namespace OHOS Presenter::OnStop(); } - bool DisplayBrightnessPresenter::OnDrag(UIView &view, const DragEvent &event) + bool DisplayBrightnessPresenter::OnClick(UIView &view, const ClickEvent &event) { - - if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT && - (event.GetDeltaX() > 20) && (event.GetDeltaX() > (2 * MATH_ABS(event.GetDeltaY())))) + // 根据控件id查找是哪个控件触发了点击回调 + if (strcmp(view.GetViewId(), BRINGHTNESSCONTROLBUTTON_VIEW) == 0) { - NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING); + NativeAbility::GetInstance().ChangeSlice(VIEW_BRIGHTNESS_CONTROL); // 亮度调节 + return true; + } + if (strcmp(view.GetViewId(), SCREENDURATIONBUTTON_VIEWID) == 0) + { + NativeAbility::GetInstance().ChangeSlice(VIEW_SCREEN_DURATION); // 亮屏时长 return true; } return false; } - bool DisplayBrightnessPresenter::OnClick(UIView &view, const ClickEvent &event) + bool DisplayBrightnessPresenter::OnDrag(UIView &view, const DragEvent &event) { - // 根据控件id查找是哪个控件触发了点击回调 - if (strcmp(view.GetViewId(), "BringhtnessControl_Button") == 0) + return true; + } + + bool DisplayBrightnessPresenter::OnDragEnd(UIView &view, const DragEvent &event) + { + if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT) { - NativeAbility::GetInstance().ChangeSlice(VIEW_BRIGHTNESS_CONTROL);//亮度调节 - return true; + NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING); } - if(strcmp(view.GetViewId(), "ScreenDuration_Button") == 0) + return true; + } + + bool DisplayBrightnessPresenter::OnChange(UICheckBox::UICheckBoxState state) + { + switch (state) { - NativeAbility::GetInstance().ChangeSlice(VIEW_SCREEN_DURATION); //亮屏时长 - return true; + case UICheckBox::SELECTED: + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RaiseToBrightnessCheckBoxButton switched on!"); + break; + case UICheckBox::UNSELECTED: + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RaiseToBrightnessCheckBoxButton switched off!"); + break; + default: + break; } - return false; + return true; } } \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessView.cpp b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessView.cpp index 79c73879f..1c8e26d8f 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessView.cpp @@ -1,269 +1,385 @@ #include "displaybrightness/include/DisplayBrightnessView.h" - -#include "common/image_cache_manager.h" -#include "UiConfig.h" -#include "ui_resource_image.h" - +#include "wearable_log.h" namespace OHOS { static DisplayBrightnessView *g_pDisplayBrightnessView{nullptr}; DisplayBrightnessView::DisplayBrightnessView() { - + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::DisplayBrightnessView"); g_pDisplayBrightnessView = this; } DisplayBrightnessView::~DisplayBrightnessView() { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::~DisplayBrightnessView"); + if (initViewStatus == true) + { + ClearAll(); + } g_pDisplayBrightnessView = nullptr; } DisplayBrightnessView *DisplayBrightnessView::GetInstance() { - return g_pDisplayBrightnessView; } - void DisplayBrightnessView::Init() + void DisplayBrightnessView::ClearAll(void) { - /***********************************************************************************************************/ - // Add ScrollView to App - if (DisplayBrightness_scrollView == nullptr) + if (initViewStatus == true) { - DisplayBrightness_scrollView = new UIScrollView(); + scrollView->RemoveAll(); + + delete DisplayBrightnessTitleLabel; + DisplayBrightnessTitleLabel = nullptr; + + delete BringhtnessControlButton; + BringhtnessControlButton = nullptr; + + delete ScreenDurationButton; + ScreenDurationButton = nullptr; + + delete BringhtnessControlLabel; + BringhtnessControlLabel = nullptr; + + delete ScreenDurationLabel; + ScreenDurationLabel = nullptr; + + delete RaiseToBrightnessLabel; + RaiseToBrightnessLabel = nullptr; + + for (int i = 0; i < 2; i++) + { + delete NextImage[i]; + NextImage[i] = nullptr; + } + + delete RaiseToBrightnessImage; + RaiseToBrightnessImage = nullptr; + + delete RaiseToBrightnessCheckBoxButton; + RaiseToBrightnessCheckBoxButton = nullptr; + + delete scrollView; + scrollView = nullptr; } - DisplayBrightness_scrollView->SetPosition(0, 0); - DisplayBrightness_scrollView->Resize(466, 466); - DisplayBrightness_scrollView->SetViewId("DisplayBrightness_scrollView"); - DisplayBrightness_scrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff); - DisplayBrightness_scrollView->SetVisible(true); - DisplayBrightness_scrollView->SetVerticalScrollState(true); // 设置纵向是否可滚动。 - /***********************************************************************************************************/ - if (imag1 == nullptr) + } + + // 显示与亮度视图scrollView初始化 + bool DisplayBrightnessView::SetUpScrollView(void) + { + scrollView = new UIScrollView(); + if (scrollView == nullptr) { - imag1 = new UIImageView(); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::scrollView new fail!"); + return false; } - imag1->SetPosition(158, 0); - imag1->SetViewId("imag1"); - // Add to scrollView1 - DisplayBrightness_scrollView->Add(imag1); - // Add Label to App - if (DisplayBrightness_Label == nullptr) + scrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight()); + scrollView->SetScrollBlankSize(35); + scrollView->SetReboundSize(50); + scrollView->SetDirection(1); + UIView::OnDragListener *draglistener = static_cast(DisplayBrightnessPresenter::GetInstance()); + if (draglistener == nullptr) { - DisplayBrightness_Label = new UILabel(); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::draglistener can not be nullptr!"); + return false; } - DisplayBrightness_Label->SetPosition(158, 52); - DisplayBrightness_Label->Resize(150, 35); - DisplayBrightness_Label->SetViewId("DisplayBrightness_Label"); - DisplayBrightness_Label->SetStyle(STYLE_TEXT_FONT, 30); - DisplayBrightness_Label->SetStyle(STYLE_LINE_HEIGHT, 35); - // Set additional property - DisplayBrightness_Label->SetText("显示与亮度"); - DisplayBrightness_Label->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT); - DisplayBrightness_Label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); - DisplayBrightness_Label->SetRollSpeed(6); - DisplayBrightness_Label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); - // Add to rootView - DisplayBrightness_scrollView->Add(DisplayBrightness_Label); - DisplayBrightness_Label->SetVisible(true); - /***********************************************************************************************************/ - // Add Button to App - if (BringhtnessControl_Button == nullptr) + scrollView->SetOnDragListener(draglistener); + scrollView->SetTouchable(true); + scrollView->SetDraggable(true); + return true; + } + + /// @brief 设置显示与亮度标题 + /// @param void + /// @return true 设置成功,false 失败 + bool DisplayBrightnessView::SetTheTitle(void) + { + DisplayBrightnessTitleLabel = new UILabel(); + if (DisplayBrightnessTitleLabel == nullptr) { - BringhtnessControl_Button = new UIButton(); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::DisplayBrightnessTitleLabel new fail!"); + return false; } - BringhtnessControl_Button->SetPosition(43, 120); - BringhtnessControl_Button->Resize(380, 100); - BringhtnessControl_Button->SetViewId("BringhtnessControl_Button"); // 亮度调节按钮 - BringhtnessControl_Button->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000); - BringhtnessControl_Button->SetImageSrc(PNG_SETTING_BACKGROUND_IMAGE, nullptr); - BringhtnessControl_Button->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED); - BringhtnessControl_Button->SetStyleForState(STYLE_BORDER_RADIUS, 50, UIButton::PRESSED); - UIView::OnClickListener *BCButton = static_cast(DisplayBrightnessPresenter::GetInstance()); - BringhtnessControl_Button->SetOnClickListener(BCButton); - // Add to scrollView1 - DisplayBrightness_scrollView->Add(BringhtnessControl_Button); - BringhtnessControl_Button->SetVisible(true); - /***********************************************************************************************************/ - // Add Label to App - if (BringhtnessContuol_Label == nullptr) + DisplayBrightnessTitleLabel->SetPosition(158, 52); + DisplayBrightnessTitleLabel->SetStyle(STYLE_BACKGROUND_OPA, 0xff); + DisplayBrightnessTitleLabel->SetStyle(STYLE_TEXT_FONT, 30); + DisplayBrightnessTitleLabel->SetStyle(STYLE_LINE_HEIGHT, 35); + DisplayBrightnessTitleLabel->SetText("显示与亮度"); + DisplayBrightnessTitleLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT); + DisplayBrightnessTitleLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); + DisplayBrightnessTitleLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); + return true; + } + + /// @brief 设置按钮 + /// @param button + /// @return true 设置成功,false 失败 + UIButton *DisplayBrightnessView::SetTheButton(ButtonConfig &buttonconfig, UIView::OnClickListener *clickListener) + { + UIButton *button = new UIButton(); + if (button == nullptr) { - BringhtnessContuol_Label = new UILabel(); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " SystemView::SetTheButton: button new fail!"); + return nullptr; } - BringhtnessContuol_Label->SetPosition(90, 153); - BringhtnessContuol_Label->Resize(200, 60); - BringhtnessContuol_Label->SetViewId("BringhtnessContuol_Label"); - BringhtnessContuol_Label->SetStyle(STYLE_TEXT_FONT, 30); - BringhtnessContuol_Label->SetStyle(STYLE_LINE_HEIGHT, 35); - // Set additional property - BringhtnessContuol_Label->SetText("亮度调节"); - BringhtnessContuol_Label->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT); - BringhtnessContuol_Label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); - BringhtnessContuol_Label->SetRollSpeed(6); - BringhtnessContuol_Label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); - // Add to scrollView1 - DisplayBrightness_scrollView->Add(BringhtnessContuol_Label); - BringhtnessContuol_Label->SetVisible(true); - /***********************************************************************************************************/ - // Add ImageView to App - if (BringhtnessContuol_Image == nullptr) + button->SetPosition(buttonconfig.x, buttonconfig.y, buttonconfig.w, buttonconfig.h); + button->SetViewId(buttonconfig.ViewId); + button->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000); + button->SetStyle(STYLE_BACKGROUND_OPA, 0x00); + button->SetImageSrc(buttonconfig.ImageSrc, buttonconfig.ImageSrc); + button->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED); + button->SetOnClickListener(clickListener); + return button; + } + + /// @brief 初始化显示与亮度视图按钮 + /// @param void + /// @return true 设置成功,false 失败 + bool DisplayBrightnessView::InitDisplayBrightnessViewButton(void) + { + /* -------------------------------------------------------------------------- */ + UIView::OnClickListener *clickListener = static_cast(DisplayBrightnessPresenter::GetInstance()); + /* -------------------------------------------------------------------------- */ + ButtonConfig buttonconfig; + buttonconfig.x = 43; + buttonconfig.y = 120; + buttonconfig.w = 380; + buttonconfig.h = 100; + buttonconfig.ViewId = BRINGHTNESSCONTROLBUTTON_VIEW; + buttonconfig.ImageSrc = "/user/res/SETTING_BACKGROUND.bin"; + BringhtnessControlButton = SetTheButton(buttonconfig, clickListener); + if (nullptr == BringhtnessControlButton) { - BringhtnessContuol_Image = new UIImageView(); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::BringhtnessControlButton new fail!"); + return false; } - BringhtnessContuol_Image->SetPosition(369, 157); - BringhtnessContuol_Image->Resize(14, 26); - BringhtnessContuol_Image->SetViewId("BringhtnessContuol_Image"); - BringhtnessContuol_Image->SetSrc(PNG_SETTING_NEXT_IMAGE); - // Add to scrollView1 - DisplayBrightness_scrollView->Add(BringhtnessContuol_Image); - BringhtnessContuol_Image->SetVisible(true); - /***********************************************************************************************************/ - // Add Button to App - if (ScreenDuration_Button == nullptr) + /* -------------------------------------------------------------------------- */ + buttonconfig.y = 240; + buttonconfig.ViewId = SCREENDURATIONBUTTON_VIEWID; + ScreenDurationButton = SetTheButton(buttonconfig, clickListener); + if (nullptr == ScreenDurationButton) { - ScreenDuration_Button = new UIButton(); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::ScreenDurationButton new fail!"); + return false; } - ScreenDuration_Button->SetPosition(43, 240); - ScreenDuration_Button->Resize(380, 100); - ScreenDuration_Button->SetViewId("ScreenDuration_Button"); // 亮屏时长 - ScreenDuration_Button->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000); - ScreenDuration_Button->SetStyle(STYLE_BORDER_RADIUS, 50); - ScreenDuration_Button->SetImageSrc(PNG_SETTING_BACKGROUND_IMAGE, nullptr); - ScreenDuration_Button->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED); - ScreenDuration_Button->SetStyleForState(STYLE_BORDER_RADIUS, 50, UIButton::PRESSED); - UIView::OnClickListener *SDButton = static_cast(DisplayBrightnessPresenter::GetInstance()); - ScreenDuration_Button->SetOnClickListener(SDButton); - // Add to scrollView1 - DisplayBrightness_scrollView->Add(ScreenDuration_Button); - ScreenDuration_Button->SetVisible(true); - /***********************************************************************************************************/ - // Add Label to App - if (ScreenDuration_Label == nullptr) + return true; + } + + // 设置标签LabelConfig &labelconfig + UILabel *DisplayBrightnessView::SetUpLabel(LabelConfig &labelconfig) + { + UILabel *label = new UILabel(); + if (label == nullptr) { - ScreenDuration_Label = new UILabel(); + return nullptr; } - ScreenDuration_Label->SetPosition(90, 273); // widget's left position and top position - ScreenDuration_Label->Resize(200, 60); // widget's width and height - ScreenDuration_Label->SetViewId("ScreenDuration_Label"); // Set style - ScreenDuration_Label->SetStyle(STYLE_TEXT_FONT, 30); - ScreenDuration_Label->SetStyle(STYLE_LINE_HEIGHT, 35); - // Set additional property - ScreenDuration_Label->SetText("亮屏时长"); - ScreenDuration_Label->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT); - ScreenDuration_Label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); - ScreenDuration_Label->SetRollSpeed(6); - ScreenDuration_Label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); - // Add to rootView - DisplayBrightness_scrollView->Add(ScreenDuration_Label); - ScreenDuration_Label->SetVisible(true); - /***********************************************************************************************************/ - // Add ImageView to App - if (ScreenDuration_Image == nullptr) + label->SetPosition(labelconfig.left, labelconfig.top, labelconfig.width, labelconfig.height); // 位置大小 + label->SetStyle(STYLE_TEXT_FONT, labelconfig.fontSize); // 字体大小 + label->SetStyle(STYLE_LINE_HEIGHT, labelconfig.lineHeigh); // 字体行高 + label->SetText(labelconfig.text); // 内容 + label->SetLineBreakMode(labelconfig.lineBreakMode); // 断行模式。 + label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); + label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, labelconfig.fontSize); + return label; + } + + /// @brief 初始化显示与亮度标签 + /// @param void + /// @return true 设置成功,false 失败 + bool DisplayBrightnessView::InitDisplayBrightnessViewLabel(void) + { + LabelConfig labelconfig = { + .left = 90, + .top = 153, + .width = 200, + .height = 60, + .fontSize = 30, + .lineHeigh = 35, + .text = "亮度调节", + .lineBreakMode = UILabel::LINE_BREAK_ADAPT, + }; + BringhtnessControlLabel = SetUpLabel(labelconfig); + if (BringhtnessControlLabel == nullptr) { - ScreenDuration_Image = new UIImageView(); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::BringhtnessControlLabel new fail!"); + return false; } - ScreenDuration_Image->SetPosition(369, 277); - ScreenDuration_Image->Resize(14, 26); - ScreenDuration_Image->SetViewId("ScreenDuration_Image"); - // Set additional property - ScreenDuration_Image->SetSrc(PNG_SETTING_NEXT_IMAGE); - // Add to scrollView1 - DisplayBrightness_scrollView->Add(ScreenDuration_Image); - ScreenDuration_Image->SetVisible(true); - /***********************************************************************************************************/ - // Add Button to App - if (RaiseToBrightness_Image == nullptr) + /* -------------------------------------------------------------------------- */ + labelconfig.top = 273; + labelconfig.text = "亮屏时长"; + ScreenDurationLabel = SetUpLabel(labelconfig); + if (ScreenDurationLabel == nullptr) { - RaiseToBrightness_Image = new UIImageView(); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::ScreenDurationLabel new fail!"); + return false; } - RaiseToBrightness_Image->SetPosition(43, 360); - RaiseToBrightness_Image->Resize(380, 100); - RaiseToBrightness_Image->SetViewId("RaiseToBrightness_Image"); // 抬腕亮屏 - RaiseToBrightness_Image->SetStyle(STYLE_BORDER_RADIUS, 50); - RaiseToBrightness_Image->SetStyle(STYLE_BACKGROUND_COLOR, 0xff991199); - RaiseToBrightness_Image->SetStyle(STYLE_BACKGROUND_OPA, 0x11); - RaiseToBrightness_Image->SetSrc(PNG_SETTING_BACKGROUND_IMAGE); - // Add to scrollView - DisplayBrightness_scrollView->Add(RaiseToBrightness_Image); - RaiseToBrightness_Image->SetVisible(true); - /***********************************************************************************************************/ - // Add Label to App - if (RaiseToBrightness_Label == nullptr) + /* -------------------------------------------------------------------------- */ + labelconfig.top = 393; + labelconfig.text = "抬腕亮屏"; + RaiseToBrightnessLabel = SetUpLabel(labelconfig); + if (RaiseToBrightnessLabel == nullptr) { - RaiseToBrightness_Label = new UILabel(); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::RaiseToBrightnessLabel new fail!"); + return false; } - RaiseToBrightness_Label->SetPosition(90, 393); - RaiseToBrightness_Label->Resize(200, 60); - RaiseToBrightness_Label->SetViewId("RaiseToBrightness_Label"); - RaiseToBrightness_Label->SetStyle(STYLE_TEXT_FONT, 30); - RaiseToBrightness_Label->SetStyle(STYLE_LINE_HEIGHT, 35); - // Set additional property - RaiseToBrightness_Label->SetText("抬腕亮屏"); - RaiseToBrightness_Label->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT); - RaiseToBrightness_Label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); - RaiseToBrightness_Label->SetRollSpeed(6); - RaiseToBrightness_Label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); - // Add to rootView - DisplayBrightness_scrollView->Add(RaiseToBrightness_Label); - RaiseToBrightness_Label->SetVisible(true); - /***********************************************************************************************************/ - // Add Button to App - if (RaiseToBrightness_CheckBoxButton == nullptr) + return true; + } + + // 设置图片 + UIImageView *DisplayBrightnessView::SetUpImageView(ImageConfig &imageconfig) + { + UIImageView *Image = new UIImageView(); + if (Image == nullptr) { - RaiseToBrightness_CheckBoxButton = static_cast(new UIToggleButton()); + return nullptr; } - RaiseToBrightness_CheckBoxButton->SetPosition(298, 385); - RaiseToBrightness_CheckBoxButton->Resize(100, 50); - RaiseToBrightness_CheckBoxButton->SetViewId("RaiseToBrightness_CheckBoxButton"); - RaiseToBrightness_CheckBoxButton->SetImages(PNG_TOGGLEBUTTON_ON_IMAGE,PNG_TOGGLEBUTTON_OFF_IMAGE); - // Add to rootView - DisplayBrightness_scrollView->Add(RaiseToBrightness_CheckBoxButton); - RaiseToBrightness_CheckBoxButton->SetVisible(true); - /***********************************************************************************************************/ - if (imag == nullptr) + Image->SetPosition(imageconfig.x, imageconfig.y, imageconfig.w, imageconfig.h); + Image->SetSrc(imageconfig.ImageSrc); + return Image; + } + + /// @brief 初始化显示与亮度图片 + /// @param void + /// @return true 设置成功,false 失败 + bool DisplayBrightnessView::InitDisplayBrightnessViewImage(void) + { + const char *NextImageSrc = "/user/res/SETTING_NEXT.bin"; + ImageConfig imageconfig = { + .x = 369, + .y = 157, + .w = 14, + .h = 26, + .ImageSrc = NextImageSrc, + }; + NextImage[0] = SetUpImageView(imageconfig); + if (nullptr == NextImage[0]) { - imag = new UIImageView(); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::NextImage[0] is nullptr!"); + return false; } - imag->SetPosition(183, 540); - imag->SetViewId("imag"); - // Add to scrollView1 - DisplayBrightness_scrollView->Add(imag); + /* -------------------------------------------------------------------------- */ + imageconfig.y = 277; + NextImage[1] = SetUpImageView(imageconfig); + if (nullptr == NextImage[1]) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::NextImage[1] is nullptr!"); + return false; + } + /* -------------------------------------------------------------------------- */ + imageconfig.x = 43; + imageconfig.y = 360; + imageconfig.w = 380; + imageconfig.h = 100; + imageconfig.ImageSrc = "/user/res/SETTING_BACKGROUND.bin"; + RaiseToBrightnessImage = SetUpImageView(imageconfig); + if (nullptr == NextImage[1]) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::RaiseToBrightnessImage is nullptr!"); + return false; + } + + return true; } - void DisplayBrightnessView::OnStart() + UICheckBox *DisplayBrightnessView::SetUpCheckBox(CheckBoxConfig &checkboxconfig) // 设置复选框 { - View::OnStart(); - // DisplayBrightness_container容器属性 new - DisplayBrightness_scrollView = new UIScrollView(); - if (DisplayBrightness_scrollView == nullptr) + UICheckBox *checkbox = new UICheckBox(); + if (nullptr == checkbox) { - return; + return nullptr; } + checkbox->SetPosition(checkboxconfig.x, checkboxconfig.y, checkboxconfig.w, checkboxconfig.h); + checkbox->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff); + checkbox->SetViewId(checkboxconfig.ViewId); + checkbox->SetImages(checkboxconfig.select,checkboxconfig.unselect); + return checkbox; + } - // DisplayBrightness_container容器属性 扩展 - DisplayBrightness_scrollView->SetPosition(0, 0); - DisplayBrightness_scrollView->SetWidth(Screen::GetInstance().GetWidth()); - DisplayBrightness_scrollView->SetHeight(Screen::GetInstance().GetHeight()); + /// @brief 初始化抬腕亮屏checkbox + /// @param void + /// @return true 设置成功,false 失败 + bool DisplayBrightnessView::InitDisplayBrightnessViewCheckBox(void) + { + CheckBoxConfig checkboxconfig = { + .x = 298, + .y = 385, + .w = 100, + .h = 50, + .ViewId = RAISETOBRIGHTNESSCHECKBOXBUTTON_VIEWID, + .select = "/user/res/TOGGLEBUTTON_ON.bin", + .unselect = "/user/res/TOGGLEBUTTON_OFF.bin", + }; + RaiseToBrightnessCheckBoxButton = SetUpCheckBox(checkboxconfig); + if (nullptr == RaiseToBrightnessCheckBoxButton) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::RaiseToBrightnessCheckBoxButton is nullptr"); + return false; + } + UICheckBox::OnChangeListener *checkBoxListener = static_cast(DisplayBrightnessPresenter::GetInstance()); + RaiseToBrightnessCheckBoxButton->SetOnChangeListener(checkBoxListener); + return true; + } - draglistener = static_cast(DisplayBrightnessPresenter::GetInstance()); - if (draglistener == nullptr) + // 显示与亮度视图初始化 + void DisplayBrightnessView::DisplayAndBrightnessViewInit() + { + if (SetUpScrollView() != true) { return; } - DisplayBrightness_scrollView->SetOnDragListener(draglistener); - DisplayBrightness_scrollView->SetTouchable(true); - DisplayBrightness_scrollView->SetDraggable(true); - - Init(); + if (SetTheTitle() != true) + { + return; + } + if (InitDisplayBrightnessViewButton() != true) + { + return; + } + if (InitDisplayBrightnessViewLabel() != true) + { + return; + } + if (InitDisplayBrightnessViewImage() != true) + { + return; + } + if (InitDisplayBrightnessViewCheckBox() != true) + { + return; + } + initViewStatus = true; + } - RootView::GetInstance()->Add(DisplayBrightness_scrollView); - RootView::GetInstance()->Invalidate(); + void DisplayBrightnessView::OnStart() + { + View::OnStart(); + if (!initViewStatus) + { + DisplayAndBrightnessViewInit(); + } } void DisplayBrightnessView::OnSetUpView() { View::OnSetUpView(); + if (scrollView == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView:: OnSetUpView has nullptr"); + return; + } + scrollView->Add(DisplayBrightnessTitleLabel); + scrollView->Add(BringhtnessControlButton); + scrollView->Add(ScreenDurationButton); + scrollView->Add(BringhtnessControlLabel); + scrollView->Add(ScreenDurationLabel); + scrollView->Add(NextImage[0]); + scrollView->Add(NextImage[1]); + scrollView->Add(RaiseToBrightnessImage); + scrollView->Add(RaiseToBrightnessLabel); + scrollView->Add(RaiseToBrightnessCheckBoxButton); + RootView::GetInstance()->Add(scrollView); Draw(); }