#include "BaseView.h"\r
#include "View.h"\r
\r
-#include "components/ui_view_group.h"\r
+#include "components/ui_scroll_view.h"\r
#include "components/ui_image_view.h"\r
#include "components/ui_circle_progress.h"\r
#include "components/ui_checkbox.h"\r
-#include "components/ui_label.h"\r
+#include "components/ui_label_ext.h"\r
#include "components/ui_button.h"\r
+#define APP_RES_PATH "/user/res"\r
namespace OHOS\r
{\r
- static const char *RECORD_PLAY_PAUSE_CHECKBOX_VIEWID = "RECORD_PLAY_PAUSE_CHECKBOX"; // 播放和暂停复选框视图id\r
- static const char *RECORD_PLAY_PROVE_BUTTON_VIEWID = "RECORD_PLAY_PROVE_BUTTON"; // 上一首按钮的视图id\r
- static const char *RECORD_PLAY_NEXT_BUTTON_VIEWID = "RECORD_PLAY_NEXT_BUTTON"; // 下一首按钮的视图id\r
- static const char *RECORD_PLAY_DELETE_BUTTON_VIEWID = "RECORD_PLAY_DELETE_BUTTON"; // 删除按钮的视图id\r
- static const char *RECORD_PLAY_VOLUME_BUTTON_VIEWID = "RECORD_PLAY_VOLUME_BUTTON"; // 音量按钮的视图id\r
+ \r
\r
- class RecordingPlayerPresenter;\r
- class RecordingPlayerView : public View<RecordingPlayerPresenter>\r
+ static constexpr const char *PNG_UNIVERSAL_PAUSE_IMAGE = APP_RES_PATH "/record/UNIVERSAL_PAUSE.bin"; // 暂停\r
+ static constexpr const char *PNG_UNIVERSAL_PLAY_IMAGE = APP_RES_PATH "/record/UNIVERSAL_PLAY.bin"; // 播放\r
+ static constexpr const char *PNG_RECORD_PLAY_BACKGROUND_IMAGE = APP_RES_PATH "/record/RECORD_PLAY_BACKGROUND.bin"; // 背景\r
+ static constexpr const char *PNG_RECORD_PLAY_PROVE_IMAGE = APP_RES_PATH "/record/RECORD_PLAY_PROVE.bin"; // 上一首\r
+ static constexpr const char *PNG_RECORD_PLAY_NEXT_IMAGE = APP_RES_PATH "/record/RECORD_PLAY_NEXT.bin"; // 下一首\r
+ static constexpr const char *PNG_RECORD_PLAY_DELETE_IMAGE = APP_RES_PATH "/record/RECORD_PLAY_DELETE.bin"; // 删除\r
+ static constexpr const char *PNG_RECORD_PLAY_VOLUME_IMAGE = APP_RES_PATH "/record/RECORD_PLAY_VOLUME.bin"; // 音量\r
+ class RecordingPlayerView\r
{\r
\r
public:\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 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
+\r
RecordingPlayerView();\r
virtual ~RecordingPlayerView();\r
static RecordingPlayerView *GetInstance(void);\r
-\r
- void OnStart() override;\r
- void OnSetUpView() override;\r
- void OnTearDownView() override;\r
- void OnStop() override;\r
- UIButton *CreateUIButton(int left, int top, int width, int height, const char *viewId,\r
- const char *defimagesrc, const char *toggleimagesrc, UIView::OnClickListener **buttonClick);\r
+ UIScrollView *RecordingPlayerViewInit(void);\r
+ void ClearAll(void);\r
\r
private:\r
- UIView::OnDragListener *draglistener{nullptr};\r
- UIView::OnClickListener *RECORD_PLAY_PROVE_BUTTON_CLICK{nullptr}; // 上一首按钮点击回调\r
- UIView::OnClickListener *RECORD_PLAY_NEXT_BUTTON_CLICK{nullptr}; // 下一首按钮点击回调\r
- UIView::OnClickListener *RECORD_PLAY_DELETE_BUTTON_CLICK{nullptr}; // 删除按钮的点击回调\r
- UIView::OnClickListener *RECORD_PLAY_VOLUME_BUTTON_CLICK{nullptr}; // 音量按钮点击回调\r
-\r
- void InitView(void);\r
- void DeInitView(void);\r
-\r
- UIViewGroup *container_ = nullptr;\r
- UIImageView *RECORD_PLAY_BACKGROUND_IMAGE = nullptr;\r
- UICircleProgress *RECORD_PLAY_CircleProgress = nullptr;\r
- UICheckBox *RECORD_PLAY_PAUSE_CHECKBOX = nullptr;\r
- UILabel *RecordLabel1 = nullptr;\r
- UILabel *RecordLabel2 = nullptr;\r
- UIButton *RECORD_PLAY_PROVE_BUTTON = nullptr; // 上一首按钮\r
- UIButton *RECORD_PLAY_NEXT_BUTTON = nullptr; // 下一首按钮\r
- UIButton *RECORD_PLAY_DELETE_BUTTON = nullptr; // 删除按钮\r
- UIButton *RECORD_PLAY_VOLUME_BUTTON = nullptr; // 音量按钮\r
+ UILabelExt *SetUpLabel(LabelConfig &labelconfig); // 设置标签\r
+ UIButton *SetTheButton(ButtonConfig &buttonconfig, UIView::OnClickListener *clickListener);\r
+ bool SetUpScrollView(void);\r
+ bool SetUpRecordingPlayerViewLabel(void);\r
+ bool SetUpBackGround(void);\r
+ bool SetUpPlayerProgressBar(void);\r
+ bool SetUpPlayPauseButton(void);\r
+ bool SetUpProveButton(void);\r
+ bool SetUpNextButton(void);\r
+ bool SetUpDeleteButton(void);\r
+ bool SetUpVolumeButton(void);\r
+ UIScrollView *RecordingPlayerViewScrollView{nullptr};\r
+ UIImageView *RecordingPlayBackground{nullptr}; // 录音播放视图背景图片\r
+ UILabelExt *RecordingFileName{nullptr}; // 录音文件名\r
+ UILabelExt *RecordingTimeAndDuration{nullptr}; // 录音时间和时长\r
+ UICircleProgress *PlayerProgressBar{nullptr}; // 录音播放进度条\r
+ UICheckBox *RecordingPlayPauseButton{nullptr}; // 录音播放或暂停按钮\r
+ UIButton *RecordingPlayProveButton{nullptr}; // 上一首按钮\r
+ UIButton *RecordingPlayNextButton{nullptr}; // 下一首按钮\r
+ UIButton *RecordingPlayDeleteButton{nullptr}; // 删除按钮\r
+ UIButton *RecordingPlayVolumeButton{nullptr}; // 音量按钮\r
+ UIView::OnClickListener *buttonClick{nullptr};\r
+ bool initViewStatus{false};\r
};\r
} // namespace OHOS\r
#endif
\ No newline at end of file
#include "record/include/RecordingPlayerView.h"\r
-#include "record/include/RecordingPlayerPresenter.h"\r
-\r
+#include "record/include/RecordingPresenter.h"\r
+#include "wearable_log.h"\r
#include "UiConfig.h"\r
\r
namespace OHOS\r
\r
RecordingPlayerView::RecordingPlayerView()\r
{\r
-\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingPlayerView::RecordingPlayerView");\r
g_pRecordPlayView = this;\r
}\r
\r
RecordingPlayerView::~RecordingPlayerView()\r
{\r
- DeInitView();\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingPlayerView::~RecordingPlayerView");\r
+ ClearAll();\r
g_pRecordPlayView = nullptr;\r
}\r
\r
RecordingPlayerView *RecordingPlayerView::GetInstance()\r
{\r
-\r
return g_pRecordPlayView;\r
}\r
- // 按钮初始化\r
- UIButton *RecordingPlayerView::CreateUIButton(int left, int top, int width, int height, const char *viewId,\r
- const char *defimagesrc, const char *toggleimagesrc, UIView::OnClickListener **buttonClick)\r
- {\r
- UIButton *button = new UIButton();\r
- if (button == nullptr)\r
- return nullptr;\r
- button->SetPosition(left, top);\r
- button->Resize(width, height);\r
- button->SetViewId(viewId);\r
- button->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
- button->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
- button->SetStyle(STYLE_BORDER_OPA, 0x00);\r
- button->SetStyle(STYLE_BORDER_RADIUS, 0);\r
- button->SetStyle(STYLE_BORDER_COLOR, 0xffffffff);\r
-\r
- button->SetImageSrc(defimagesrc, toggleimagesrc);\r
- button->SetStyle(STYLE_BORDER_COLOR, 0x191919);\r
- button->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xffffffff, UIButton::PRESSED);\r
- button->SetStyleForState(STYLE_BACKGROUND_OPA, 0x00, UIButton::PRESSED);\r
- button->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
- button->SetStyleForState(STYLE_BORDER_RADIUS, 0, UIButton::PRESSED);\r
-\r
- // Add the CallBack about events\r
- *buttonClick = static_cast<UIView::OnClickListener *>(RecordingPlayerPresenter::GetInstance());\r
- button->SetOnClickListener(*buttonClick);\r
- return button;\r
- }\r
\r
- void RecordingPlayerView::InitView()\r
+ void RecordingPlayerView::ClearAll()\r
{\r
- if (container_ == nullptr)\r
+ if (initViewStatus == true)\r
{\r
- container_ = new UIViewGroup();\r
- container_->SetPosition(0, 0, 466, 466);\r
- container_->SetStyle(STYLE_BACKGROUND_OPA, 0);\r
- draglistener = static_cast<UIView::OnDragListener *>(RecordingPlayerPresenter::GetInstance());\r
- if (draglistener == nullptr)\r
- {\r
- return;\r
- }\r
- container_->SetOnDragListener(draglistener);\r
- container_->SetTouchable(true);\r
- container_->SetDraggable(true);\r
- }\r
+ RecordingPlayerViewScrollView->RemoveAll();\r
\r
- // Add ImageView to App\r
- if (RECORD_PLAY_BACKGROUND_IMAGE == nullptr)\r
- {\r
- RECORD_PLAY_BACKGROUND_IMAGE = new UIImageView();\r
- }\r
- RECORD_PLAY_BACKGROUND_IMAGE->SetPosition(0, 0);\r
- RECORD_PLAY_BACKGROUND_IMAGE->Resize(466, 466);\r
- RECORD_PLAY_BACKGROUND_IMAGE->SetViewId("RECORD_PLAY_BACKGROUND_IMAGE");\r
- RECORD_PLAY_BACKGROUND_IMAGE->SetSrc(PNG_RECORD_PLAY_BACKGROUND_IMAGE);\r
-\r
- // Add to rootView\r
- container_->Add(RECORD_PLAY_BACKGROUND_IMAGE);\r
- RECORD_PLAY_BACKGROUND_IMAGE->SetVisible(true);\r
- /********************************************************************************************************/\r
- // Add Label to App\r
- if (RecordLabel1 == nullptr)\r
- {\r
- RecordLabel1 = new UILabel();\r
+ delete RecordingPlayBackground;\r
+ RecordingPlayBackground = nullptr;\r
+\r
+ delete RecordingFileName;\r
+ RecordingFileName = nullptr;\r
+\r
+ delete RecordingTimeAndDuration;\r
+ RecordingTimeAndDuration = nullptr;\r
+\r
+ delete PlayerProgressBar;\r
+ PlayerProgressBar = nullptr;\r
+\r
+ delete RecordingPlayPauseButton;\r
+ RecordingPlayPauseButton = nullptr;\r
+\r
+ delete RecordingPlayProveButton;\r
+ RecordingPlayProveButton = nullptr;\r
+\r
+ delete RecordingPlayNextButton;\r
+ RecordingPlayNextButton = nullptr;\r
+\r
+ delete RecordingPlayDeleteButton;\r
+ RecordingPlayDeleteButton = nullptr;\r
+\r
+ delete RecordingPlayVolumeButton;\r
+ RecordingPlayVolumeButton = nullptr;\r
+\r
+ delete buttonClick;\r
+ buttonClick = nullptr;\r
+\r
+ delete RecordingPlayerViewScrollView;\r
+ RecordingPlayerViewScrollView = nullptr;\r
}\r
- RecordLabel1->SetPosition(187, 52);\r
- RecordLabel1->Resize(92, 41);\r
- RecordLabel1->SetViewId("RecordLabel1");\r
- RecordLabel1->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
- RecordLabel1->SetStyle(STYLE_TEXT_FONT, 35);\r
- RecordLabel1->SetStyle(STYLE_LINE_HEIGHT, 41);\r
-\r
- // Set additional property\r
- RecordLabel1->SetText("录音3");\r
- RecordLabel1->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
- RecordLabel1->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- RecordLabel1->SetRollSpeed(0);\r
- RecordLabel1->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 35);\r
-\r
- // Add to rootView\r
- container_->Add(RecordLabel1);\r
- RecordLabel1->SetVisible(true);\r
- /********************************************************************************************************/\r
- // Add Label to App\r
- if (RecordLabel2 == nullptr)\r
+ }\r
+\r
+ // 亮屏时长视图“scrollView”初始化\r
+ bool RecordingPlayerView::SetUpScrollView(void)\r
+ {\r
+ RecordingPlayerViewScrollView = new UIScrollView();\r
+ if (RecordingPlayerViewScrollView == nullptr)\r
{\r
- RecordLabel2 = new UILabel();\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenDurationView::RecordingPlayerViewScrollView new fail!");\r
+ return false;\r
}\r
- RecordLabel2->SetPosition(122, 102);\r
- RecordLabel2->Resize(222, 33);\r
- RecordLabel2->SetViewId("RecordLabel2");\r
- RecordLabel2->SetStyle(STYLE_TEXT_FONT, 28);\r
- RecordLabel2->SetStyle(STYLE_LINE_HEIGHT, 33);\r
-\r
- // Set additional property\r
- RecordLabel2->SetText("2022.04.21 -20:57");\r
- RecordLabel2->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
- RecordLabel2->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));\r
- RecordLabel2->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- RecordLabel2->SetRollSpeed(0);\r
- RecordLabel2->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 28);\r
-\r
- // Add to rootView\r
- container_->Add(RecordLabel2);\r
- RecordLabel2->SetVisible(true);\r
- /********************************************************************************************************/\r
- // Add CircleProgress to App\r
- if (RECORD_PLAY_CircleProgress == nullptr)\r
+ RecordingPlayerViewScrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
+ UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(RecordingPresenter::GetInstance());\r
+ if (draglistener == nullptr)\r
{\r
- RECORD_PLAY_CircleProgress = new UICircleProgress();\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenDurationView::draglistener can not be nullptr!");\r
+ return false;\r
}\r
- RECORD_PLAY_CircleProgress->SetPosition(173, 173);\r
- RECORD_PLAY_CircleProgress->Resize(120, 120);\r
- RECORD_PLAY_CircleProgress->SetViewId("RECORD_PLAY_CircleProgress");\r
- RECORD_PLAY_CircleProgress->SetStyle(STYLE_BACKGROUND_OPA, 0x2b);\r
- RECORD_PLAY_CircleProgress->SetStyle(STYLE_BORDER_RADIUS, 100);\r
- RECORD_PLAY_CircleProgress->SetForegroundStyle(STYLE_BORDER_COLOR, 0xff000000);\r
- RECORD_PLAY_CircleProgress->SetForegroundStyle(STYLE_LINE_COLOR, 0xffffffff);\r
- RECORD_PLAY_CircleProgress->SetForegroundStyle(STYLE_LINE_WIDTH, 6);\r
- RECORD_PLAY_CircleProgress->SetCenterPosition(60, 60);\r
- RECORD_PLAY_CircleProgress->SetRadius(60);\r
- RECORD_PLAY_CircleProgress->SetEndAngle(359);\r
- RECORD_PLAY_CircleProgress->SetValue(20);\r
-\r
- // Add to rootView\r
- container_->Add(RECORD_PLAY_CircleProgress);\r
- RECORD_PLAY_CircleProgress->SetVisible(true);\r
- /********************************************************************************************************/\r
- // Add CheckBox to App\r
- if (RECORD_PLAY_PAUSE_CHECKBOX == nullptr)\r
+ RecordingPlayerViewScrollView->SetOnDragListener(draglistener);\r
+ RecordingPlayerViewScrollView->SetTouchable(true);\r
+ RecordingPlayerViewScrollView->SetDraggable(true);\r
+ return true;\r
+ }\r
+\r
+ // 设置标签\r
+ UILabelExt *RecordingPlayerView::SetUpLabel(LabelConfig &labelconfig)\r
+ {\r
+ UILabelExt *label = new UILabelExt();\r
+ if (label == nullptr)\r
{\r
- RECORD_PLAY_PAUSE_CHECKBOX = new UICheckBox();\r
+ return nullptr;\r
}\r
- RECORD_PLAY_PAUSE_CHECKBOX->SetPosition(208, 208);\r
- RECORD_PLAY_PAUSE_CHECKBOX->Resize(50, 50);\r
- RECORD_PLAY_PAUSE_CHECKBOX->SetViewId(RECORD_PLAY_PAUSE_CHECKBOX_VIEWID);\r
- RECORD_PLAY_PAUSE_CHECKBOX->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
- RECORD_PLAY_PAUSE_CHECKBOX->SetImages(PNG_UNIVERSAL_PAUSE_IMAGE, PNG_UNIVERSAL_PLAY_IMAGE);\r
-\r
- // Add the CallBack about events\r
- UIView::OnClickListener *checkBoxClick = static_cast<UIView::OnClickListener *>(RecordingPlayerPresenter::GetInstance());\r
- RECORD_PLAY_PAUSE_CHECKBOX->SetOnClickListener(checkBoxClick);\r
- // Add to rootView\r
- container_->Add(RECORD_PLAY_PAUSE_CHECKBOX);\r
- RECORD_PLAY_PAUSE_CHECKBOX->SetVisible(true);\r
- /********************************************************************************************************/\r
- // Add Button to App\r
- if (RECORD_PLAY_PROVE_BUTTON == 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
+ // 设置按钮\r
+ UIButton *RecordingPlayerView::SetTheButton(ButtonConfig &buttonconfig, UIView::OnClickListener *clickListener)\r
+ {\r
+ UIButton *button = new UIButton();\r
+ if (button == nullptr)\r
{\r
- RECORD_PLAY_PROVE_BUTTON = CreateUIButton(60, 213, 40, 40, RECORD_PLAY_PROVE_BUTTON_VIEWID, PNG_RECORD_PLAY_PROVE_IMAGE, nullptr, &RECORD_PLAY_PROVE_BUTTON_CLICK);\r
+ return nullptr;\r
}\r
- // Add to rootView\r
- container_->Add(RECORD_PLAY_PROVE_BUTTON);\r
- RECORD_PLAY_PROVE_BUTTON->SetVisible(true);\r
- /********************************************************************************************************/\r
- // Add Button to App\r
- if (RECORD_PLAY_NEXT_BUTTON == 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->SetImagePosition(20, 20);\r
+ button->SetStyle(STYLE_BORDER_RADIUS, 100);\r
+ button->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xffff5a36, UIButton::PRESSED);\r
+ button->SetOnClickListener(clickListener);\r
+ return button;\r
+ }\r
+\r
+ bool RecordingPlayerView::SetUpRecordingPlayerViewLabel(void)\r
+ {\r
+ LabelConfig labelconfig = {\r
+ .left = 83,\r
+ .top = 52,\r
+ .width = 300,\r
+ .height = 40,\r
+ .fontSize = 30,\r
+ .lineHeigh = 35,\r
+ .text = "录音3",\r
+ .lineBreakMode = UILabel::LINE_BREAK_ELLIPSIS,\r
+ };\r
+\r
+ RecordingFileName = SetUpLabel(labelconfig);\r
+ if (nullptr == RecordingFileName)\r
{\r
- RECORD_PLAY_NEXT_BUTTON = CreateUIButton(366, 213, 40, 40, RECORD_PLAY_NEXT_BUTTON_VIEWID, PNG_RECORD_PLAY_NEXT_IMAGE, nullptr, &RECORD_PLAY_NEXT_BUTTON_CLICK);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingPlayerView::RecordingFileName is nullptr!");\r
+ return false;\r
}\r
- // Add to rootView\r
- container_->Add(RECORD_PLAY_NEXT_BUTTON);\r
- RECORD_PLAY_NEXT_BUTTON->SetVisible(true);\r
- /********************************************************************************************************/\r
- // Add Button to App\r
- if (RECORD_PLAY_DELETE_BUTTON == nullptr)\r
+\r
+ labelconfig.top = 102;\r
+ labelconfig.fontSize = 28;\r
+ labelconfig.lineHeigh = 33;\r
+ labelconfig.text = "2022.04.21 -20:57";\r
+ RecordingTimeAndDuration = SetUpLabel(labelconfig);\r
+ if (nullptr == RecordingTimeAndDuration)\r
{\r
- RECORD_PLAY_DELETE_BUTTON = CreateUIButton(137, 346, 40, 40, RECORD_PLAY_DELETE_BUTTON_VIEWID, PNG_RECORD_PLAY_DELETE_IMAGE, nullptr, &RECORD_PLAY_DELETE_BUTTON_CLICK);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingPlayerView::RecordingTimeAndDuration is nullptr!");\r
+ return false;\r
}\r
- // Add to rootView\r
- container_->Add(RECORD_PLAY_DELETE_BUTTON);\r
- RECORD_PLAY_DELETE_BUTTON->SetVisible(true);\r
- /********************************************************************************************************/\r
- // Add Button to App\r
- if (RECORD_PLAY_VOLUME_BUTTON == nullptr)\r
+ return true;\r
+ }\r
+\r
+ /*\r
+ * @brief 背景设置\r
+ */\r
+ bool RecordingPlayerView::SetUpBackGround(void)\r
+ {\r
+ RecordingPlayBackground = new UIImageView();\r
+ if (RecordingPlayBackground == nullptr)\r
{\r
- RECORD_PLAY_VOLUME_BUTTON = CreateUIButton(290, 346, 40, 40, RECORD_PLAY_VOLUME_BUTTON_VIEWID, PNG_RECORD_PLAY_VOLUME_IMAGE, nullptr, &RECORD_PLAY_VOLUME_BUTTON_CLICK);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingPlayerView::RecordingPlayBackground is new fail!");\r
+ return false;\r
}\r
- // Add to rootView\r
- container_->Add(RECORD_PLAY_VOLUME_BUTTON);\r
- RECORD_PLAY_VOLUME_BUTTON->SetVisible(true);\r
- /********************************************************************************************************/\r
+ RecordingPlayBackground->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
+ RecordingPlayBackground->SetSrc(PNG_RECORD_PLAY_BACKGROUND_IMAGE);\r
+ return true;\r
}\r
\r
- void RecordingPlayerView::DeInitView()\r
+ /*\r
+ * @brief 播放进度条设置\r
+ */\r
+ bool RecordingPlayerView::SetUpPlayerProgressBar(void)\r
{\r
- if (container_ != nullptr)\r
+ PlayerProgressBar = new UICircleProgress();\r
+ if (PlayerProgressBar == nullptr)\r
{\r
- container_->RemoveAll();\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingPlayerView::PlayerProgressBar is new fail!");\r
+ return false;\r
}\r
- if (RECORD_PLAY_BACKGROUND_IMAGE != nullptr)\r
+ PlayerProgressBar->SetPosition(168, 168, 130, 130);\r
+ PlayerProgressBar->SetViewId(RECORD_PLAY_PLAYERPROGRESSBAR);\r
+ PlayerProgressBar->SetStyle(STYLE_BACKGROUND_OPA, 0x2b);\r
+ PlayerProgressBar->SetStyle(STYLE_BORDER_RADIUS, 100);\r
+ PlayerProgressBar->SetForegroundStyle(STYLE_BORDER_COLOR, 0xff000000);\r
+ PlayerProgressBar->SetForegroundStyle(STYLE_LINE_COLOR, 0xffffffff);\r
+ PlayerProgressBar->SetForegroundStyle(STYLE_LINE_WIDTH, 6);\r
+ PlayerProgressBar->SetCenterPosition(65, 65);\r
+ PlayerProgressBar->SetRadius(65);\r
+ PlayerProgressBar->SetEndAngle(360);\r
+ PlayerProgressBar->SetValue(20);\r
+\r
+ return true;\r
+ }\r
+\r
+ /*\r
+ * @brief 播放和暂停按钮设置\r
+ */\r
+ bool RecordingPlayerView::SetUpPlayPauseButton(void)\r
+ {\r
+ RecordingPlayPauseButton = new UICheckBox();\r
+ if (RecordingPlayPauseButton == nullptr)\r
{\r
- delete RECORD_PLAY_BACKGROUND_IMAGE;\r
- RECORD_PLAY_BACKGROUND_IMAGE = nullptr;\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingPlayerView::PlayerProgressBar is new fail!");\r
+ return false;\r
}\r
- if (RECORD_PLAY_CircleProgress != nullptr)\r
+ RecordingPlayPauseButton->SetPosition(188, 188, 90, 90);\r
+ RecordingPlayPauseButton->SetViewId(RECORD_PLAY_PAUSE_CHECKBOX_VIEWID);\r
+ RecordingPlayPauseButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+ RecordingPlayPauseButton->SetImages(PNG_UNIVERSAL_PAUSE_IMAGE, PNG_UNIVERSAL_PLAY_IMAGE);\r
+ UICheckBox::OnChangeListener *changelister = static_cast<UICheckBox::OnChangeListener *>(RecordingPresenter::GetInstance());\r
+ RecordingPlayPauseButton->SetOnChangeListener(changelister);\r
+\r
+ return true;\r
+ }\r
+\r
+ /*\r
+ * @brief 设置上一首按钮\r
+ */\r
+ bool RecordingPlayerView::SetUpProveButton(void)\r
+ {\r
+ ButtonConfig buttonconfig =\r
+ {\r
+ .x = 40,\r
+ .y = 193,\r
+ .w = 80,\r
+ .h = 80,\r
+ .ViewId = RECORD_PLAY_PROVE_BUTTON_VIEWID,\r
+ .ImageSrc = PNG_RECORD_PLAY_PROVE_IMAGE,\r
+ };\r
+ RecordingPlayProveButton = SetTheButton(buttonconfig, buttonClick);\r
+ if (nullptr == RecordingPlayProveButton)\r
{\r
- delete RECORD_PLAY_CircleProgress;\r
- RECORD_PLAY_CircleProgress = nullptr;\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " RecordingPlayerView::RecordingPlayProveButton new fail!");\r
+ return false;\r
}\r
- if (RECORD_PLAY_PAUSE_CHECKBOX != nullptr)\r
+ return true;\r
+ }\r
+\r
+ /*\r
+ * @brief 设置下一首按钮\r
+ */\r
+ bool RecordingPlayerView::SetUpNextButton(void)\r
+ {\r
+ \r
+ ButtonConfig buttonconfig =\r
+ {\r
+ .x = 346,\r
+ .y = 193,\r
+ .w = 80,\r
+ .h = 80,\r
+ .ViewId = RECORD_PLAY_NEXT_BUTTON_VIEWID,\r
+ .ImageSrc = PNG_RECORD_PLAY_NEXT_IMAGE,\r
+ };\r
+ RecordingPlayNextButton = SetTheButton(buttonconfig, buttonClick);\r
+ if (nullptr == RecordingPlayNextButton)\r
{\r
- delete RECORD_PLAY_PAUSE_CHECKBOX;\r
- RECORD_PLAY_PAUSE_CHECKBOX = nullptr;\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " RecordingPlayerView::RecordingPlayNextButton new fail!");\r
+ return false;\r
}\r
- if (RecordLabel1 != nullptr)\r
+ return true;\r
+ }\r
+ /*\r
+ * @brief 设置删除按钮\r
+ */\r
+ bool RecordingPlayerView::SetUpDeleteButton(void)\r
+ {\r
+ \r
+ ButtonConfig buttonconfig =\r
+ {\r
+ .x = 117,\r
+ .y = 326,\r
+ .w = 80,\r
+ .h = 80,\r
+ .ViewId = RECORD_PLAY_DELETE_BUTTON_VIEWID,\r
+ .ImageSrc = PNG_RECORD_PLAY_DELETE_IMAGE,\r
+ };\r
+ RecordingPlayDeleteButton = SetTheButton(buttonconfig, buttonClick);\r
+ if (nullptr == RecordingPlayDeleteButton)\r
{\r
- delete RecordLabel1;\r
- RecordLabel1 = nullptr;\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " RecordingPlayerView::RecordingPlayDeleteButton new fail!");\r
+ return false;\r
}\r
- if (RecordLabel2 != nullptr)\r
+ return true;\r
+ }\r
+\r
+ /*\r
+ * @brief 设置音量按钮\r
+ */\r
+ bool RecordingPlayerView::SetUpVolumeButton(void)\r
+ {\r
+ \r
+ ButtonConfig buttonconfig =\r
+ {\r
+ .x = 270,\r
+ .y = 326,\r
+ .w = 80,\r
+ .h = 80,\r
+ .ViewId = RECORD_PLAY_VOLUME_BUTTON_VIEWID,\r
+ .ImageSrc = PNG_RECORD_PLAY_VOLUME_IMAGE,\r
+ };\r
+ RecordingPlayVolumeButton = SetTheButton(buttonconfig, buttonClick);\r
+ if (nullptr == RecordingPlayVolumeButton)\r
{\r
- delete RecordLabel2;\r
- RecordLabel2 = nullptr;\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " RecordingPlayerView::RecordingPlayVolumeButton new fail!");\r
+ return false;\r
}\r
- if (RECORD_PLAY_PROVE_BUTTON != nullptr)\r
+ return true;\r
+ }\r
+\r
+ UIScrollView *RecordingPlayerView::RecordingPlayerViewInit()\r
+ {\r
+ if (!SetUpScrollView())\r
{\r
- delete RECORD_PLAY_PROVE_BUTTON;\r
- RECORD_PLAY_PROVE_BUTTON = nullptr;\r
+ return nullptr;\r
}\r
- if (RECORD_PLAY_NEXT_BUTTON != nullptr)\r
+\r
+ if (!SetUpRecordingPlayerViewLabel())\r
{\r
- delete RECORD_PLAY_NEXT_BUTTON;\r
- RECORD_PLAY_NEXT_BUTTON = nullptr;\r
+ return nullptr;\r
}\r
- if (RECORD_PLAY_DELETE_BUTTON != nullptr)\r
+\r
+ if (!SetUpBackGround())\r
{\r
- delete RECORD_PLAY_DELETE_BUTTON;\r
- RECORD_PLAY_DELETE_BUTTON = nullptr;\r
+ return nullptr;\r
}\r
- if (RECORD_PLAY_VOLUME_BUTTON != nullptr)\r
+\r
+ if (!SetUpPlayerProgressBar())\r
{\r
- delete RECORD_PLAY_VOLUME_BUTTON;\r
- RECORD_PLAY_VOLUME_BUTTON = nullptr;\r
+ return nullptr;\r
}\r
- if (draglistener != nullptr)\r
+\r
+ buttonClick = static_cast<UIView::OnClickListener *>(new RecordingPlayerViewOnClickListener());\r
+\r
+ if (!SetUpPlayPauseButton())\r
{\r
- delete draglistener;\r
- draglistener = nullptr;\r
+ return nullptr;\r
}\r
- if (RECORD_PLAY_PROVE_BUTTON_CLICK != nullptr)\r
+\r
+ if (!SetUpProveButton())\r
{\r
- delete RECORD_PLAY_PROVE_BUTTON_CLICK;\r
- RECORD_PLAY_PROVE_BUTTON_CLICK = nullptr;\r
+ return nullptr;\r
}\r
- if (RECORD_PLAY_NEXT_BUTTON_CLICK != nullptr)\r
+\r
+ if (!SetUpNextButton())\r
{\r
- delete RECORD_PLAY_NEXT_BUTTON_CLICK;\r
- RECORD_PLAY_NEXT_BUTTON_CLICK = nullptr;\r
+ return nullptr;\r
}\r
- if (RECORD_PLAY_DELETE_BUTTON_CLICK != nullptr)\r
+\r
+ if (!SetUpDeleteButton())\r
{\r
- delete RECORD_PLAY_DELETE_BUTTON_CLICK;\r
- RECORD_PLAY_DELETE_BUTTON_CLICK = nullptr;\r
+ return nullptr;\r
}\r
- if (RECORD_PLAY_VOLUME_BUTTON_CLICK != nullptr)\r
+\r
+ if (!SetUpVolumeButton())\r
{\r
- delete RECORD_PLAY_VOLUME_BUTTON_CLICK;\r
- RECORD_PLAY_VOLUME_BUTTON_CLICK = nullptr;\r
+ return nullptr;\r
}\r
- delete container_;\r
- container_ = nullptr;\r
- }\r
-\r
- void RecordingPlayerView::OnStart()\r
- {\r
- View<RecordingPlayerPresenter>::OnStart();\r
- InitView();\r
- RootView::GetInstance()->Add(container_);\r
- }\r
-\r
- void RecordingPlayerView::OnSetUpView()\r
- {\r
- View<RecordingPlayerPresenter>::OnSetUpView();\r
- Draw();\r
- }\r
-\r
- void RecordingPlayerView::OnTearDownView()\r
- {\r
-\r
- View<RecordingPlayerPresenter>::OnTearDownView();\r
- return;\r
- }\r
-\r
- void RecordingPlayerView::OnStop()\r
- {\r
+ /* ----------------------------------- Add ---------------------------------- */\r
+ RecordingPlayerViewScrollView->Add(RecordingPlayBackground);\r
+ RecordingPlayerViewScrollView->Add(RecordingFileName);\r
+ RecordingPlayerViewScrollView->Add(RecordingTimeAndDuration);\r
+ RecordingPlayerViewScrollView->Add(PlayerProgressBar);\r
+ RecordingPlayerViewScrollView->Add(RecordingPlayPauseButton);\r
+ RecordingPlayerViewScrollView->Add(RecordingPlayProveButton);\r
+ RecordingPlayerViewScrollView->Add(RecordingPlayNextButton);\r
+ RecordingPlayerViewScrollView->Add(RecordingPlayDeleteButton);\r
+ RecordingPlayerViewScrollView->Add(RecordingPlayVolumeButton);\r
\r
- View<RecordingPlayerPresenter>::OnStop();\r
- RootView::GetInstance()->RemoveAll();\r
- return;\r
+ initViewStatus = true;\r
+ return RecordingPlayerViewScrollView;\r
}\r
\r
}
\ No newline at end of file