屏幕与亮度视图修改
authorluozheng <root@luozheng>
Thu, 8 Feb 2024 12:22:34 +0000 (20:22 +0800)
committerluozheng <root@luozheng>
Thu, 8 Feb 2024 12:22:34 +0000 (20:22 +0800)
code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessPresenter.h
code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessView.h
code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessPresent.cpp
code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessView.cpp

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