修改音乐来源视图
author罗正yun <1732036298@qq.com>
Fri, 5 Jan 2024 11:45:54 +0000 (19:45 +0800)
committer罗正yun <1732036298@qq.com>
Fri, 5 Jan 2024 11:45:54 +0000 (19:45 +0800)
code/sdk/application/wearable/nativeapp/nativeui/player/include/BluetoothView.h
code/sdk/application/wearable/nativeapp/nativeui/player/src/BluetoothView.cpp
code/sdk/application/wearable/nativeapp/nativeui/player/src/PlayersPresenter.cpp

index 77d24a7..7e12904 100755 (executable)
@@ -12,6 +12,7 @@
 #include "components/ui_radio_button.h"\r
 #include "components/ui_label_button.h"\r
 #include "components/ui_view_group.h"\r
+#include "components/ui_scroll_view.h"\r
 #include "BaseView.h"\r
 \r
 namespace OHOS {\r
@@ -20,14 +21,18 @@ class BluetoothView {
 public:\r
     BluetoothView();\r
     virtual ~BluetoothView();\r
-    UIViewGroup *LoadBluetoothView(void);\r
+    UIViewGroup *LoadMusicSourceView(void);\r
     static BluetoothView *GetInstance(void);\r
     UIViewGroup *group{nullptr};\r
+    UIScrollView *scrollView{nullptr};\r
     UIRadioButton *GetPhoneButton(void);\r
     UIRadioButton *GetWatchButton(void);\r
     UIButton *GetSettingButton(void);\r
-    UILabelButton *GetDeleteButton(void);\r
 private:\r
+    UILabel *titleLabel{nullptr};\r
+    UIImageView *phoneBackground{nullptr};\r
+    UIImageView *watchBackground{nullptr};\r
+    UIImageView *bluetoothBackground{nullptr};\r
     UILabel *watchLabel{nullptr};\r
     UILabel *phoneLabel{nullptr};\r
     UILabel *bluetoothLabel{nullptr};\r
@@ -37,15 +42,12 @@ private:
     UIRadioButton *watchButton{nullptr};\r
     UIRadioButton *phoneButton{nullptr};\r
     UIButton *settingButton{nullptr};\r
-    UILabelButton *deleteButton{nullptr};\r
-    int LoadRadioButton();\r
-    int LoadButtonView();\r
-    int LoadLabelButton();\r
-    int LoadLabel();\r
-    int LoadImage();\r
-\r
-    void SetUpButton(UILabelButton *btn, const Point& point, int16_t width, int16_t height,\r
-                     UIView::OnClickListener *listener);\r
+    int LoadTitleLabel(void);\r
+    int LoadImageBackGround(void);\r
+    int LoadRadioButton(void);\r
+    int LoadButtonView(void);\r
+    int LoadLabel(void);\r
+    int LoadImage(void);\r
 };\r
 } // namespace OHOS\r
 #endif
\ No newline at end of file
index b653490..d03e9e4 100755 (executable)
@@ -8,36 +8,37 @@
 #include "UiConfig.h"\r
 #include "BluetoothEarPhoneView.h"\r
 #include "PlayersPresenter.h"\r
-\r
+#include "ui_resource_image.h"\r
+#include "common/image_cache_manager.h"\r
 namespace OHOS {\r
 static BluetoothView *g_bluetoothView{nullptr};\r
-static constexpr uint16_t TEXT_WIDTH = 155;\r
-static constexpr uint16_t TEXT_HEIGHT = 40;\r
+static constexpr uint16_t TEXT_WIDTH = 120;\r
+static constexpr uint16_t TEXT_HEIGHT = 35;\r
 static constexpr uint16_t HEIGHT = 55;\r
-static constexpr uint16_t HEIGHT2 = 75;\r
-static constexpr uint16_t WIDTH = 55;\r
-static constexpr uint16_t WIDTH2 = 75;\r
+static constexpr uint16_t HEIGHT2 = 40;\r
+static constexpr uint16_t WIDTH = 80;\r
+static constexpr uint16_t WIDTH2 = 80;\r
 static constexpr uint16_t BUTTON_WIDTH = 180;\r
 static constexpr uint16_t BUTTON_HEIGHT = 40;\r
 \r
 constexpr uint16_t BLUETOOTH_OK = 0;\r
 constexpr int16_t BLUETOOTH_ERROR = (-1);\r
 \r
-static constexpr uint16_t IMAGE_X = 50;\r
-static constexpr uint16_t IMAGE_Y = 98;\r
-static constexpr uint16_t IMAGE_Y2 = 187;\r
-static constexpr uint16_t IMAGE_Y3 = 278;\r
-static constexpr uint16_t STEP_LABEL_X = 155;\r
-static constexpr uint16_t BUTTON_X = 320;\r
-static constexpr uint16_t BUTTON_X2 = 313;\r
+static constexpr uint16_t IMAGE_X = 83;\r
+static constexpr uint16_t IMAGE_Y = 150;\r
+static constexpr uint16_t IMAGE_Y2 = 270;\r
+static constexpr uint16_t IMAGE_Y3 = 390;\r
+static constexpr uint16_t STEP_LABEL_X = 143;\r
+static constexpr uint16_t BUTTON_X = 300;\r
+static constexpr uint16_t BUTTON_X2 = 326;\r
 static constexpr uint16_t BUTTON_X3 = 135;\r
-static constexpr uint16_t BUTTON_Y = 104;\r
-static constexpr uint16_t BUTTON_Y2 = 194;\r
-static constexpr uint16_t BUTTON_Y3 = 278;\r
+static constexpr uint16_t BUTTON_Y = 140;\r
+static constexpr uint16_t BUTTON_Y2 = 260;\r
+static constexpr uint16_t BUTTON_Y3 = 397;\r
 static constexpr uint16_t BUTTON_Y4 = 402;\r
-static constexpr uint16_t STEP_LABEL_Y = 108;\r
-static constexpr uint16_t STEP_LABEL_Y2 = 199;\r
-static constexpr uint16_t STEP_LABEL_Y3 = 290;\r
+static constexpr uint16_t STEP_LABEL_Y = 153;\r
+static constexpr uint16_t STEP_LABEL_Y2 = 273;\r
+static constexpr uint16_t STEP_LABEL_Y3 = 393;\r
 \r
 BluetoothView::BluetoothView()\r
 {\r
@@ -60,17 +61,19 @@ BluetoothView::~BluetoothView()
     if (click != nullptr) {\r
         delete click;\r
     }\r
+    click = nullptr;\r
     delete phoneButton;\r
     phoneButton = nullptr;\r
     delete settingButton;\r
     settingButton = nullptr;\r
-    click = deleteButton->GetOnClickListener();\r
-    if (click != nullptr) {\r
-        delete click;\r
-    }\r
-    click = nullptr;\r
-    delete deleteButton;\r
-    deleteButton = nullptr;\r
+    delete titleLabel;\r
+    titleLabel = nullptr;\r
+    delete phoneBackground;\r
+    phoneBackground = nullptr;\r
+    delete watchBackground;\r
+    watchBackground = nullptr;\r
+    delete bluetoothBackground;\r
+    bluetoothBackground = nullptr;\r
     delete watchLabel;\r
     watchLabel = nullptr;\r
     delete phoneLabel;\r
@@ -83,6 +86,8 @@ BluetoothView::~BluetoothView()
     phoneImage = nullptr;\r
     delete bluetoothImage;\r
     bluetoothImage = nullptr;\r
+    delete scrollView;\r
+    scrollView = nullptr;\r
     delete group;\r
     group = nullptr;\r
     g_bluetoothView = nullptr;\r
@@ -98,11 +103,6 @@ UIButton *BluetoothView::GetSettingButton(void)
     return settingButton;\r
 }\r
 \r
-UILabelButton *BluetoothView::GetDeleteButton(void)\r
-{\r
-    return deleteButton;\r
-}\r
-\r
 UIRadioButton *BluetoothView::GetWatchButton(void)\r
 {\r
     return watchButton;\r
@@ -130,9 +130,9 @@ public:
             return false;\r
         }\r
         if (view_ == (UIView *)bluetoothView->GetWatchButton()) {\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "watchButton OnClick");\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "watchButton OnClick");//手表音乐\r
         } else if (view_ == (UIView *)bluetoothView->GetPhoneButton()) {\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "phoneButton OnClick");\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "phoneButton OnClick");//手机音乐\r
         } else if (view_ == (UIView *)bluetoothView->GetSettingButton()) {\r
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "settingButton OnClick");\r
             JumpView *jumpView = JumpView::GetInstance();\r
@@ -142,8 +142,6 @@ public:
             }\r
             jumpView->ChangeView(JumpView::BluetoothJumpViewNum::BLUETOOTHEVIEW,\r
                                  JumpView::BluetoothJumpViewNum::BLUETOOTHEARPHONEVIEW);\r
-        } else if (view_ == (UIView *)bluetoothView->GetDeleteButton()) {\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "deleteButton OnClick");\r
         }\r
         return true;\r
     }\r
@@ -151,120 +149,107 @@ private:
     UIView *view_ = nullptr;\r
 };\r
 \r
-void BluetoothView::SetUpButton(UILabelButton *btn, const Point& point,\r
-                                int16_t width, int16_t height, UIView::OnClickListener *listener)\r
+/// @brief 加载标题文本:音乐来源\r
+/// @return \r
+int BluetoothView::LoadTitleLabel(void)\r
 {\r
-    if (btn == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "btn null!");\r
-        return;\r
+    if (titleLabel == nullptr) {\r
+        titleLabel = new UILabel();\r
+        if (titleLabel == nullptr) {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "titleLabel new fail");\r
+            return BLUETOOTH_ERROR;\r
+        }\r
     }\r
-    btn->SetPosition(point.x, point.y, width, height);\r
-    btn->SetOnClickListener(listener);\r
+    titleLabel->SetPosition(173, 52, 120, 35);\r
+    titleLabel->SetText("音乐来源");\r
+    titleLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_THIRTY_SIZE);\r
+    return BLUETOOTH_OK;\r
 }\r
 \r
-int BluetoothView::LoadRadioButton()\r
+/// @brief 加载要放置各种组件的背景图片,一共三个\r
+/// @return \r
+int BluetoothView::LoadImageBackGround(void)\r
 {\r
-    if (watchButton == nullptr) {\r
-        watchButton = new UIRadioButton("MusicCategory");\r
-        if (watchButton == nullptr) {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "watchButton UIRadio new fail");\r
+    if(phoneBackground == nullptr){\r
+        phoneBackground = new UIImageView();\r
+        if (phoneBackground == nullptr) {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "phoneBackground UIImageView new fail");\r
             return BLUETOOTH_ERROR;\r
         }\r
     }\r
-    if (phoneButton == nullptr) {\r
-        phoneButton = new UIRadioButton("MusicCategory");\r
-        if (phoneButton == nullptr) {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "phoneButton UIRadio new fail");\r
+    if(watchBackground == nullptr){\r
+        watchBackground = new UIImageView();\r
+        if (watchBackground == nullptr) {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "watchBackground UIImageView new fail");\r
             return BLUETOOTH_ERROR;\r
         }\r
     }\r
-    UIView::OnClickListener *listener1 = new BluetoothOnClickListener(reinterpret_cast<UIView*>(watchButton));\r
-    if (listener1 == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "listener1 new fail");\r
-        return BLUETOOTH_ERROR;\r
-    }\r
-    watchButton->SetPosition(BUTTON_X, BUTTON_Y, WIDTH, HEIGHT);\r
-    watchButton->SetOnClickListener(listener1);\r
-    watchButton->SetTouchable(false);\r
-    UIView::OnClickListener *listener2 = new BluetoothOnClickListener(reinterpret_cast<UIView*>(phoneButton));\r
-    if (listener2 == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "listener2 new fail");\r
-        return BLUETOOTH_ERROR;\r
+    if(bluetoothBackground == nullptr){\r
+        bluetoothBackground = new UIImageView();\r
+        if (bluetoothBackground == nullptr) {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "bluetoothBackground UIImageView new fail");\r
+            return BLUETOOTH_ERROR;\r
+        }\r
     }\r
-    phoneButton->SetPosition(BUTTON_X, BUTTON_Y2, WIDTH, HEIGHT);\r
-    phoneButton->SetOnClickListener(listener2);\r
-    phoneButton->SetTouchable(false);\r
+\r
+    const char* BackgroundImage = "/user/res/SETTING_BACKGROUND.bin";\r
+    phoneBackground->SetPosition(43,120);\r
+    phoneBackground->SetStyle(STYLE_BORDER_RADIUS, 100);\r
+    phoneBackground->SetSrc(BackgroundImage);\r
+\r
+    watchBackground->SetPosition(43,240);\r
+    watchBackground->SetStyle(STYLE_BORDER_RADIUS, 100);\r
+    watchBackground->SetSrc(BackgroundImage);\r
+\r
+    bluetoothBackground->SetPosition(43,360);\r
+    bluetoothBackground->SetStyle(STYLE_BORDER_RADIUS, 100);\r
+    bluetoothBackground->SetSrc(BackgroundImage);\r
     return BLUETOOTH_OK;\r
 }\r
 \r
-int BluetoothView::LoadLabelButton()\r
+/// @brief 加载图片图标\r
+/// @param  \r
+/// @return \r
+int BluetoothView::LoadImage(void)\r
 {\r
-    struct Point pointBtn;\r
-    // 跳转按钮\r
-    pointBtn.x = BUTTON_X2;\r
-    pointBtn.y = BUTTON_Y3;\r
-    UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::PlayersPresenter::GetInstance();\r
-    if (clickListener == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "clickListener GetInstance fail");\r
-        return BLUETOOTH_ERROR;\r
-    }\r
-    settingButton->SetPosition(pointBtn.x, pointBtn.y, WIDTH, HEIGHT);\r
-    settingButton->SetOnClickListener(clickListener);\r
-    settingButton->SetImageSrc(PNG_SETTTING_BUTTON_IMAGE, PNG_SETTTING_BUTTON_IMAGE);\r
-    settingButton->SetViewId(BLUETOOTH_SETTING_BUTTON);\r
-    // 删除按钮\r
-    pointBtn.x = BUTTON_X3;\r
-    pointBtn.y = BUTTON_Y4;\r
-    UIView::OnClickListener *listener4 = new BluetoothOnClickListener(reinterpret_cast<UIView*>(deleteButton));\r
-    if (listener4 == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "listener4 new fail");\r
+    ImageInfo *image;\r
+    // 图片图标\r
+    phoneImage = new UIImageView();\r
+    if (phoneImage == nullptr) {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "phoneImage new fail");\r
         return BLUETOOTH_ERROR;\r
     }\r
-    SetUpButton(deleteButton, pointBtn, BUTTON_WIDTH, BUTTON_HEIGHT, listener4);\r
-    deleteButton->SetText("删除音乐");\r
-    deleteButton->SetVisible(false);\r
-    return BLUETOOTH_OK;\r
-}\r
+    phoneImage->SetPosition(IMAGE_X, IMAGE_Y, WIDTH2, HEIGHT2);\r
+    image = ImageCacheManager::GetInstance().LoadOneInMultiRes(PLAYER_PHONE_WHITE, PLAYER_IAMGES);\r
+    phoneImage->SetSrc(image);\r
 \r
-int BluetoothView::LoadButtonView()\r
-{\r
-    if (LoadRadioButton() == BLUETOOTH_ERROR) {\r
+\r
+    watchImage = new UIImageView();\r
+    if (watchImage == nullptr) {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "watchImage new fail");\r
         return BLUETOOTH_ERROR;\r
     }\r
-    if (settingButton == nullptr) {\r
-        settingButton = new UIButton();\r
-        if (settingButton == nullptr) {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "settingButton UIButton new fail");\r
-            return BLUETOOTH_ERROR;\r
-        }\r
-    }\r
-    if (deleteButton == nullptr) {\r
-        deleteButton = new UILabelButton();\r
-        if (deleteButton == nullptr) {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "deleteButton UILabelButton new fail");\r
-            return BLUETOOTH_ERROR;\r
-        }\r
-    }\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "LoadButtonView");\r
-    if (LoadLabelButton() == BLUETOOTH_ERROR) {\r
+    watchImage->SetPosition(IMAGE_X, IMAGE_Y2, WIDTH2, HEIGHT2);\r
+    image = ImageCacheManager::GetInstance().LoadOneInMultiRes(PLAYER_LOCAL_MUSIC_WHITE, PLAYER_IAMGES);\r
+    watchImage->SetSrc(image);\r
+\r
+    bluetoothImage = new UIImageView();\r
+    if (bluetoothImage == nullptr) {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "bluetoothImage new fail");\r
         return BLUETOOTH_ERROR;\r
     }\r
+    bluetoothImage->SetPosition(IMAGE_X, IMAGE_Y3, WIDTH2, HEIGHT2);\r
+    image = ImageCacheManager::GetInstance().LoadOneInMultiRes(PLAYER_EARPHONE_WHITE, PLAYER_IAMGES);\r
+    bluetoothImage->SetSrc(image);\r
     return BLUETOOTH_OK;\r
 }\r
 \r
+/// @brief 加载文本\r
+/// @param  \r
+/// @return \r
 int BluetoothView::LoadLabel(void)\r
 {\r
-    // 标题文本\r
-    if (watchLabel == nullptr) {\r
-        watchLabel = new UILabel();\r
-        if (watchLabel == nullptr) {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "watchLabel new fail");\r
-            return BLUETOOTH_ERROR;\r
-        }\r
-    }\r
-    watchLabel->SetPosition(STEP_LABEL_X, STEP_LABEL_Y, TEXT_WIDTH, TEXT_HEIGHT);\r
-    watchLabel->SetText("手表音乐");\r
-    watchLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_THIRTY_SIZE);\r
+    /* -------------------------------------------------------------------------- */\r
     if (phoneLabel == nullptr) {\r
         phoneLabel = new UILabel();\r
         if (phoneLabel == nullptr) {\r
@@ -275,6 +260,18 @@ int BluetoothView::LoadLabel(void)
     phoneLabel->SetPosition(STEP_LABEL_X, STEP_LABEL_Y2, TEXT_WIDTH, TEXT_HEIGHT);\r
     phoneLabel->SetText("手机音乐");\r
     phoneLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_THIRTY_SIZE);\r
+    /* -------------------------------------------------------------------------- */\r
+    if (watchLabel == nullptr) {\r
+        watchLabel = new UILabel();\r
+        if (watchLabel == nullptr) {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "watchLabel new fail");\r
+            return BLUETOOTH_ERROR;\r
+        }\r
+    }\r
+    watchLabel->SetPosition(STEP_LABEL_X, STEP_LABEL_Y, TEXT_WIDTH, TEXT_HEIGHT);\r
+    watchLabel->SetText("手表音乐");\r
+    watchLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_THIRTY_SIZE);\r
+    /* -------------------------------------------------------------------------- */\r
     if (bluetoothLabel == nullptr) {\r
         bluetoothLabel = new UILabel();\r
         if (bluetoothLabel == nullptr) {\r
@@ -285,64 +282,133 @@ int BluetoothView::LoadLabel(void)
     bluetoothLabel->SetPosition(STEP_LABEL_X, STEP_LABEL_Y3, TEXT_WIDTH, TEXT_HEIGHT);\r
     bluetoothLabel->SetText("蓝牙音乐");\r
     bluetoothLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_THIRTY_SIZE);\r
+    /* -------------------------------------------------------------------------- */\r
     return BLUETOOTH_OK;\r
 }\r
 \r
-int BluetoothView::LoadImage(void)\r
+/// @brief 加载两个radiobutton\r
+/// @return \r
+int BluetoothView::LoadRadioButton(void)\r
 {\r
-    // 图片图标\r
-    watchImage = new UIImageView();\r
-    if (watchImage == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "watchImage new fail");\r
+    /* -------------------------------------------------------------------------- */\r
+    if (phoneButton == nullptr) {\r
+        phoneButton = new UIRadioButton("MusicCategory");\r
+        if (phoneButton == nullptr) {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "phoneButton UIRadio new fail");\r
+            return BLUETOOTH_ERROR;\r
+        }\r
+    }\r
+    UIView::OnClickListener *listener1 = new BluetoothOnClickListener(reinterpret_cast<UIView*>(phoneButton));\r
+    if (listener1 == nullptr) {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "listener1 new fail");\r
         return BLUETOOTH_ERROR;\r
     }\r
-    watchImage->SetPosition(IMAGE_X, IMAGE_Y, WIDTH2, HEIGHT2);\r
-    watchImage->SetSrc(PNG_WATCH_IMAGE);\r
-\r
-    phoneImage = new UIImageView();\r
-    if (phoneImage == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "phoneImage new fail");\r
+    phoneButton->SetPosition(BUTTON_X, BUTTON_Y, WIDTH, HEIGHT);\r
+    phoneButton->SetImages(PNG_CHECKBOX_ON_IMAGE,PNG_CHECKBOX_OFF_IMAGE);\r
+    phoneButton->SetOnClickListener(listener1);\r
+   \r
+    /* -------------------------------------------------------------------------- */\r
+    if (watchButton == nullptr) {\r
+        watchButton = new UIRadioButton("MusicCategory");\r
+        if (watchButton == nullptr) {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "watchButton UIRadio new fail");\r
+            return BLUETOOTH_ERROR;\r
+        }\r
+    }\r
+    UIView::OnClickListener *listener2 = new BluetoothOnClickListener(reinterpret_cast<UIView*>(watchButton));\r
+    if (listener2 == nullptr) {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "listener2 new fail");\r
         return BLUETOOTH_ERROR;\r
     }\r
-    phoneImage->SetPosition(IMAGE_X, IMAGE_Y2, WIDTH2, HEIGHT2);\r
-    phoneImage->SetSrc(PNG_PHONE_IMAGE);\r
+    watchButton->SetPosition(BUTTON_X, BUTTON_Y2, WIDTH, HEIGHT);\r
+    watchButton->SetImages(PNG_CHECKBOX_ON_IMAGE,PNG_CHECKBOX_OFF_IMAGE);\r
+    watchButton->SetOnClickListener(listener2);\r
+    /* -------------------------------------------------------------------------- */\r
+    return BLUETOOTH_OK;\r
+}\r
 \r
-    bluetoothImage = new UIImageView();\r
-    if (bluetoothImage == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "bluetoothImage new fail");\r
+/// @brief 加载蓝牙耳机按钮视图\r
+/// @return \r
+int BluetoothView::LoadButtonView(void)\r
+{\r
+    if (settingButton == nullptr) {\r
+        settingButton = new UIButton();\r
+        if (settingButton == nullptr) {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "settingButton UIButton new fail");\r
+            return BLUETOOTH_ERROR;\r
+        }\r
+    }\r
+    // 跳转按钮\r
+    UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::PlayersPresenter::GetInstance();\r
+    if (clickListener == nullptr) {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "clickListener GetInstance fail");\r
         return BLUETOOTH_ERROR;\r
     }\r
-    bluetoothImage->SetPosition(IMAGE_X, IMAGE_Y3, WIDTH2, HEIGHT2);\r
-    bluetoothImage->SetSrc(PNG_BLUETOOTH_IMAGE);\r
+    settingButton->SetPosition(BUTTON_X2,BUTTON_Y3, WIDTH, HEIGHT);\r
+    settingButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+    settingButton->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
+    settingButton->SetStyleForState(STYLE_BACKGROUND_OPA, 0x00, UIButton::PRESSED);\r
+    settingButton->SetStyleForState(STYLE_BORDER_COLOR, 0xffffffff, UIButton::PRESSED);\r
+    settingButton->SetStyleForState(STYLE_BORDER_OPA, 0x00, UIButton::PRESSED);\r
+    settingButton->SetOnClickListener(clickListener);\r
+    settingButton->SetImageSrc(PNG_SETTING_NEXT_IMAGE, PNG_SETTING_NEXT_IMAGE);\r
+    settingButton->SetViewId(BLUETOOTH_SETTING_BUTTON);\r
     return BLUETOOTH_OK;\r
 }\r
 \r
-UIViewGroup *BluetoothView::LoadBluetoothView()\r
+\r
+/// @brief 加载音乐来源视图\r
+/// @return \r
+UIViewGroup *BluetoothView::LoadMusicSourceView(void)\r
 {\r
-    if (group == nullptr) {\r
+    if(group == nullptr)\r
+    {\r
         group = new UIViewGroup();\r
         if (group == nullptr) {\r
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group new fail");\r
             return nullptr;\r
         }\r
     }\r
-    group->SetPosition(0, 0);\r
-    group->SetWidth(HORIZONTAL_RESOLUTION);\r
-    group->SetHeight(VERTICAL_RESOLUTION);\r
-    LoadButtonView();\r
-    LoadLabel();\r
+    group->SetPosition(0, 0, 466, 466);\r
+    group->SetStyle(STYLE_BACKGROUND_OPA, 0);\r
+    if (scrollView == nullptr) {\r
+        scrollView = new UIScrollView();\r
+        if (scrollView == nullptr) {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "scrollView new fail");\r
+            return nullptr;\r
+        }\r
+    }\r
+    scrollView->SetPosition(0, 0,466,466);\r
+    scrollView->SetScrollBlankSize(40);\r
+    scrollView->SetReboundSize(50);\r
+    scrollView->SetDirection(1);\r
+    group->Add(scrollView);\r
+\r
+    LoadTitleLabel();\r
+    LoadImageBackGround();\r
     LoadImage();\r
+    LoadLabel();\r
+    LoadRadioButton();\r
+    LoadButtonView();\r
+    \r
+    scrollView->Add(titleLabel);\r
+   \r
+    scrollView->Add(phoneBackground);\r
+    scrollView->Add(watchBackground);\r
+    scrollView->Add(bluetoothBackground);\r
+\r
+    scrollView->Add(watchImage);\r
+    scrollView->Add(phoneImage);\r
+    scrollView->Add(bluetoothImage);\r
+\r
+    scrollView->Add(watchLabel);\r
+    scrollView->Add(phoneLabel);\r
+    scrollView->Add(bluetoothLabel);\r
+\r
+    scrollView->Add(watchButton);\r
+    scrollView->Add(phoneButton);\r
+    scrollView->Add(settingButton);\r
 \r
-    group->Add(watchLabel);\r
-    group->Add(phoneLabel);\r
-    group->Add(bluetoothLabel);\r
-    group->Add(watchButton);\r
-    group->Add(phoneButton);\r
-    group->Add(settingButton);\r
-    group->Add(deleteButton);\r
-    group->Add(watchImage);\r
-    group->Add(phoneImage);\r
-    group->Add(bluetoothImage);\r
     UIView::OnDragListener *earDragListener = (UIView::OnDragListener *)OHOS::PlayerOnDragListener::GetInstance();\r
     if (earDragListener == nullptr) {\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "earDragListener GetInstance fail");\r
index 70159e4..9819038 100755 (executable)
@@ -146,6 +146,7 @@ bool JumpView::ChangeBluetoothEarListView(int16_t hideView, int16_t thisView)
     return true;\r
 }\r
 \r
+//切换到音乐来源视图\r
 bool JumpView::ChangeBluetoothView(int16_t hideView, int16_t thisView)\r
 {\r
     UNUSED(hideView);\r
@@ -157,7 +158,7 @@ bool JumpView::ChangeBluetoothView(int16_t hideView, int16_t thisView)
             return false;\r
         }\r
         // init view\r
-        UIViewGroup *group = bluetoothView->LoadBluetoothView();\r
+        UIViewGroup *group = bluetoothView->LoadMusicSourceView();\r
         if (group == nullptr) {\r
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group nullptr fail");\r
             return false;\r