+/*\r
+ * @Author: luozheng 1732036298@qq.com\r
+ * @Date: 2024-03-30 09:14:38\r
+ * @LastEditors: luozheng 1732036298@qq.com\r
+ * @LastEditTime: 2024-06-13 10:44:21\r
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordDeleteView.h\r
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\r
+ */\r
#ifndef RECORD_DELETE_VIEW_H\r
#define RECORD_DELETE_VIEW_H\r
\r
#include "components/ui_image_view.h"\r
#include "components/ui_button.h"\r
#include "components/ui_label_ext.h"\r
-#include"language/font/ui_resource_string.h"\r
+#include "language/font/ui_resource_string.h"\r
namespace OHOS\r
{\r
\r
int16_t fontSize; // 字体大小\r
int16_t lineHeigh; // 行高\r
const char *text; // 文本\r
+ int16_t textId; // 文本Id\r
uint8_t lineBreakMode; // 断行模式。\r
};\r
RecordDeleteView();\r
void ClearAll(void);\r
\r
private:\r
- bool SetUpScrollView(void);\r
- UILabelExt *SetUpLabel(LabelConfig &labelconfig); // 设置标签\r
- bool SetRecordDeleteViewLabel(void);\r
- bool SetUpButton(void);\r
+ UILabelExt *CreateRecordDeleteLabel(LabelConfig &labelconfig); // 设置标签\r
+ bool RecordDeleteScrollViewInit(void);\r
+ bool RecordDeleteLabelViewInit(void);\r
+ bool RecordDeleteButtonViewInit(void);\r
+\r
UIScrollView *RecordDeleteViewScrollView{nullptr};\r
UILabelExt *TitleLabel{nullptr};\r
- UILabelExt *AttentionLabel[2]{nullptr};\r
+ UILabelExt *AttentionLabel{nullptr};\r
+ UILabelExt *DeleteNameLabel{nullptr};\r
UIButton *RECORD_DELETE_ON_BUTTON{nullptr}; // 是否删除录音:是\r
UIButton *RECORD_DELETE_OFF_BUTTON{nullptr}; // 是否删除录音:否\r
- bool initViewStatus{false};\r
};\r
} // namespace OHOS\r
#endif
\ No newline at end of file
+/*\r
+ * @Author: luozheng 1732036298@qq.com\r
+ * @Date: 2024-03-30 09:14:38\r
+ * @LastEditors: luozheng 1732036298@qq.com\r
+ * @LastEditTime: 2024-06-13 14:32:55\r
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordGoingView.h\r
+ */\r
#ifndef RECORD_GOING_VIEW_H\r
#define RECORD_GOING_VIEW_H\r
\r
namespace OHOS\r
{\r
\r
- \r
class RecordGoingView\r
{\r
public:\r
int16_t fontSize; // 字体大小\r
int16_t lineHeigh; // 行高\r
const char *text; // 文本\r
+ int16_t textId; // 文本Id\r
uint8_t lineBreakMode; // 断行模式。\r
};\r
RecordGoingView();\r
UIScrollView *RecordGoingViewInit(void);\r
void ClearAll(void);\r
UILabel *GetRecordingDurationLabel(void);\r
+\r
private:\r
- bool SetUpScrollView(void);\r
- UILabel *SetUpLabel(LabelConfig &labelconfig); // 设置标签\r
- bool SetRecordGoingViewLabel(void);\r
- bool SetUpImageView(void);\r
- bool SetUpButton(void);\r
+ UILabel *CreateRecordGoingLabel(LabelConfig &labelconfig); // 设置标签\r
+ UILabelExt *CreateRecordGoingLabelExt(LabelConfig &labelconfig); // 设置标签\r
+ bool RecordGoingScrollViewInit(void);\r
+ bool RecordGoingLabelViewInit(void);\r
+ bool RecordGoingImageViewInit(void);\r
+ bool RecordGoingButtonViewInit(void);\r
+ void AddViewsToScrollView(UIScrollView *scrollView, UIView *views[], int numViews);\r
+ void AddViewsToRecordGoingViewScrollView();\r
UIScrollView *RecordGoingViewScrollView{nullptr};\r
- UILabel *TitleLabel{nullptr}; // 标题\r
- UILabel *RecordGoingLabel{nullptr}; // “录音中”\r
- UILabel *Timer{nullptr}; // 显示录音时长\r
+ UILabelExt *TitleLabel{nullptr}; // 标题\r
+ UILabelExt *RecordGoingLabel{nullptr}; // “录音中”\r
+ UILabel *Timer{nullptr}; // 显示录音时长\r
UIImageView *RECORD_GOING_IMAGE{nullptr};\r
UIButton *RECORD_GOING_BUTTON{nullptr};\r
-\r
-\r
- bool initViewStatus{false};\r
};\r
} // namespace OHOS\r
#endif
\ No newline at end of file
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-03-30 09:14:38\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-06-12 17:54:46\r
+ * @LastEditTime: 2024-06-13 10:00:02\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordListView.h\r
*/\r
#ifndef RECORD_LIST_VIEW_H\r
virtual ~RecordListView();\r
static RecordListView *GetInstance(void);\r
UIScrollView *RecordListViewInit(void);\r
- void ClearAll(void);\r
- void IsVisibleLabel(bool value);\r
void RefreshRecordingListData(void);\r
\r
private:\r
- bool SetUpScrollView(void);\r
- UILabelExt *SetUpLabel(LabelConfig &labelconfig); // 设置标签\r
- bool SetUpRecordListViewLabel(void);\r
- bool SetUpRecordingList(void);\r
+ UILabelExt *CreateRecordListLabel(LabelConfig &labelconfig); // 设置标签\r
+ bool RecordListScrollViewInit(void);\r
+ bool RecordListLabelViewInit(void);\r
+ bool RecordListListViewInit(void);\r
void AddRecordingToList(const RecordingListItem &item);\r
void InitRecordingInfo(void);\r
+ void UpdateVisibilityBasedOnRecordingList();\r
+ void ClearAll(void);\r
+ void IsVisibleLabel(bool value);\r
+\r
UIScrollView *RecordListScrollView{nullptr};\r
UILabelExt *RecordListViewTitleLabel{nullptr}; // "录音列表"\r
UILabelExt *RecordListViewAttentionLabel{nullptr}; //"当前录音列表为空"\r
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-02-27 09:16:51\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-06-12 16:19:16\r
+ * @LastEditTime: 2024-06-13 11:23:15\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingPresenter.h\r
*/\r
\r
#ifndef RECORD_PRESENTER_H\r
#define RECORD_PRESENTER_H\r
\r
+#include "BaseView.h"\r
#include "Presenter.h"\r
#include "RecordingView.h"\r
#include "KeyInputListener.h"\r
#include <media_thread_adapt.h>\r
namespace OHOS\r
{\r
- typedef enum\r
- {\r
- RECORDINGVIEW = 0, // 录音视图(slice)\r
- RECORDINGLISTVIEW, // 录音列表视图(subView)\r
- RECORDGOINGVIEW, // 正在录音视图(subView)\r
- RECORDINGPLAYERVIEW, // 录音播放视图(subView)\r
- RECORDINGDELETEVIEW, // 录音删除视图(subView)\r
- RECORDINGVOLUMESETTINGVIEW, // 声音设置视图(subView)\r
- MAX_RECORDINGVIEWID,\r
- } RECORDINGVIEWID;\r
-\r
/*正在录音视图*/\r
static const char *RECORD_GOING_BUTTON_VIEWID = "RECORD_GOING_BUTTON"; // 停止录音按钮id\r
\r
bool X_DRAG_FLAG{false};\r
};\r
\r
- class RecordingVolumeSettingViewDragLister : public UIView::OnDragListener\r
- {\r
- public:\r
- RecordingVolumeSettingViewDragLister() {}\r
- ~RecordingVolumeSettingViewDragLister(){}\r
- bool OnDrag(UIView &view, const DragEvent &event) override;\r
- bool OnDragEnd(UIView &view, const DragEvent &event) override;\r
- };\r
-\r
class RecordingModel;\r
class RecordingView;\r
class RecordingPresenter : public Presenter<RecordingView>,\r
+/*\r
+ * @Author: luozheng 1732036298@qq.com\r
+ * @Date: 2024-03-30 09:14:38\r
+ * @LastEditors: luozheng 1732036298@qq.com\r
+ * @LastEditTime: 2024-06-13 11:06:56\r
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingView.h\r
+ */\r
#ifndef RECORD_VIEW_H\r
#define RECORD_VIEW_H\r
\r
#include "record/include/RecordDeleteView.h"\r
#include "record/include/RecordingVolumeSettingView.h"\r
\r
-#define NUM_MAX_RECORDINGVIEWSCROLLVIEW 10\r
namespace OHOS\r
{\r
+ typedef enum\r
+ {\r
+ RECORDINGVIEW = 0, // 录音视图(slice)\r
+ RECORDINGLISTVIEW, // 录音列表视图(subView)\r
+ RECORDGOINGVIEW, // 正在录音视图(subView)\r
+ RECORDINGPLAYERVIEW, // 录音播放视图(subView)\r
+ RECORDINGDELETEVIEW, // 录音删除视图(subView)\r
+ RECORDINGVOLUMESETTINGVIEW, // 声音设置视图(subView)\r
+ MAX_RECORDINGVIEWID,\r
+ } RECORDINGVIEWID;\r
+\r
class RecordingPresenter;\r
class RecordingView : public View<RecordingPresenter>\r
{\r
bool ChangeRecordVolumeSettingView(int16_t thisView); // 切换到“声音设置”视图\r
bool ClickFunc(int16_t interface);\r
void ChangeView(int16_t hideView, int16_t showView);\r
- UIScrollView *GetRecordingViewScrollView(int i);\r
+ int GetCurrentViewType(UIScrollView * view);\r
\r
public:\r
void OnStart() override;\r
RecordingVolumeSettingView *p_RecordingVolumeSettingView{nullptr};\r
\r
private:\r
+ bool RecordingScrollViewInit(void);\r
+ bool RecordingLabelViewInit(void);\r
+ bool RecordingButtonViewInit(void);\r
+ bool RecordingImageViewInit(void);\r
+ bool RecordingImageAnimatorViewInit(void);\r
+\r
void RecordingViewInit(void);\r
void ClearAll(void);\r
- bool SetUpScrollView(void);\r
- bool SetTheTitle(void);\r
UIButton *SetTheButton(ButtonConfig &buttonconfig, UIView::OnClickListener *clickListener);\r
- UIScrollView *RecordingViewScrollView[NUM_MAX_RECORDINGVIEWSCROLLVIEW]{nullptr};\r
+ UIScrollView *RecordingViewScrollView[MAX_RECORDINGVIEWID]{nullptr};\r
UILabelExt *RecordingViewTitleLabel{nullptr};\r
UIButton *RecordingViewButton{nullptr};\r
UILabelExt *AttentionLabel{nullptr};\r
+/*
+ * @Author: luozheng 1732036298@qq.com
+ * @Date: 2024-03-13 17:34:03
+ * @LastEditors: luozheng 1732036298@qq.com
+ * @LastEditTime: 2024-06-13 11:21:14
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingVolumeSettingView.h
+ */
#ifndef RECORDING_VOLUME_SETTING_VIEW_H
#define RECORDING_VOLUME_SETTING_VIEW_H
private:
SoundAndVibrationVolumeSettingView *p_SoundAndVibrationVolumeSettingView{nullptr};
UIScrollView *RecordingVolumeSettingViewScrollView{nullptr};
- UIView::OnDragListener *volumeDragListener{nullptr};
bool initViewStatus{false};
};
#include "record/include/RecordDeleteView.h"\r
#include "record/include/RecordingPresenter.h"\r
#include "wearable_log.h"\r
-\r
+#include "language/font/ui_resource_string.h"\r
namespace OHOS\r
{\r
static RecordDeleteView *g_pRecordDeleteView{nullptr};\r
\r
void RecordDeleteView::ClearAll()\r
{\r
- if (initViewStatus == true)\r
+ if (RecordDeleteViewScrollView != nullptr)\r
{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordDeleteView::ClearAll");\r
RecordDeleteViewScrollView->RemoveAll();\r
\r
delete TitleLabel;\r
TitleLabel = nullptr;\r
\r
- for (int i = 0; i < 2; i++)\r
- {\r
- delete AttentionLabel[i];\r
- AttentionLabel[i] = nullptr;\r
- }\r
+ delete AttentionLabel;\r
+ AttentionLabel = nullptr;\r
+\r
+ delete DeleteNameLabel;\r
+ DeleteNameLabel = nullptr;\r
\r
delete RECORD_DELETE_ON_BUTTON;\r
RECORD_DELETE_ON_BUTTON = nullptr;\r
}\r
}\r
\r
- bool RecordDeleteView::SetUpScrollView(void)\r
- {\r
- RecordDeleteViewScrollView = new UIScrollView();\r
- if (RecordDeleteViewScrollView == nullptr)\r
- {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordDeleteView::RecordDeleteViewScrollView new fail!");\r
- return false;\r
- }\r
- RecordDeleteViewScrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
- RecordDeleteViewScrollView->SetTouchable(true);\r
- RecordDeleteViewScrollView->SetDraggable(true);\r
- return true;\r
- }\r
-\r
- UILabelExt *RecordDeleteView::SetUpLabel(LabelConfig &labelconfig) // 设置标签\r
+ UILabelExt *RecordDeleteView::CreateRecordDeleteLabel(LabelConfig &labelconfig) // 设置标签\r
{\r
UILabelExt *label = new UILabelExt();\r
if (label == 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->SetText(labelconfig.text); // 内容\r
+ label->SetTextId(labelconfig.textId); // 内容\r
+ label->SetLineBreakMode(labelconfig.lineBreakMode); // 断行模式。\r
label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, labelconfig.fontSize);\r
+\r
return label;\r
}\r
\r
- bool RecordDeleteView::SetRecordDeleteViewLabel(void)\r
+ bool RecordDeleteView::RecordDeleteScrollViewInit(void)\r
{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordDeleteView::RecordDeleteScrollViewInit");\r
+ RecordDeleteViewScrollView = new UIScrollView();\r
+ if (RecordDeleteViewScrollView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordDeleteView::RecordDeleteViewScrollView new fail!");\r
+ return false;\r
+ }\r
+ RecordDeleteViewScrollView->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
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "dragListener is nullptr!!");\r
+ return false;\r
+ }\r
+ RecordDeleteViewScrollView->SetOnDragListener(dragListener);\r
+ RecordDeleteViewScrollView->SetTouchable(true);\r
+ RecordDeleteViewScrollView->SetDraggable(true);\r
+ return true;\r
+ }\r
+\r
+ bool RecordDeleteView::RecordDeleteLabelViewInit(void)\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordDeleteView::RecordDeleteLabelViewInit");\r
LabelConfig labelconfig = {\r
- .left = 173,\r
+ .left = 83,\r
.top = 52,\r
- .width = 200,\r
- .height = 40,\r
+ .width = 300,\r
+ .height = 35,\r
.fontSize = 30,\r
.lineHeigh = 35,\r
- .text = "删除录音",\r
- .lineBreakMode = UILabel::LINE_BREAK_ADAPT,\r
+ //.text = "删除录音",\r
+ .textId = STR_DELETE_RECORDING,\r
+ .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
};\r
- TitleLabel = SetUpLabel(labelconfig);\r
+ TitleLabel = CreateRecordDeleteLabel(labelconfig);\r
if (nullptr == TitleLabel)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordDeleteView::TitleLabel is nullptr!");\r
return false;\r
}\r
-\r
+ RecordDeleteViewScrollView->Add(TitleLabel);\r
+ /* -------------------------------------------------------------------------- */\r
labelconfig = {\r
- .left = 33,\r
- .top = 145,\r
- .width = 400,\r
- .height = 124,\r
+ .left = 53,\r
+ .top = 160,\r
+ .width = 360,\r
+ .height = 35,\r
.fontSize = 30,\r
.lineHeigh = 35,\r
- .text = "此操作将 该录音\n\n是否确认?",\r
- .lineBreakMode = UILabel::LINE_BREAK_ELLIPSIS,\r
+ //.text = "是否永久删除",\r
+ .textId = STR_DELETE_PERMANENTLY,\r
+ .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
};\r
-\r
- AttentionLabel[0] = SetUpLabel(labelconfig);\r
- if (nullptr == AttentionLabel[0])\r
+ AttentionLabel = CreateRecordDeleteLabel(labelconfig);\r
+ if (nullptr == AttentionLabel)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordDeleteView::AttentionLabel[0] is nullptr!");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordDeleteView::AttentionLabel is nullptr!");\r
return false;\r
}\r
-\r
- labelconfig = {\r
- .left = 188,\r
- .top = 154,\r
- .width = 200,\r
- .height = 40,\r
- .fontSize = 30,\r
- .lineHeigh = 35,\r
- .text = "永久删除",\r
- .lineBreakMode = UILabel::LINE_BREAK_ADAPT,\r
- };\r
- AttentionLabel[1] = SetUpLabel(labelconfig);\r
- AttentionLabel[1]->SetTextColor(Color::GetColorFromRGBA(0xff, 0x5a, 0x36, 0xff));\r
- if (nullptr == AttentionLabel[1])\r
+ AttentionLabel->SetTextColor(Color::GetColorFromRGBA(0xff, 0x5a, 0x36, 0xff));\r
+ RecordDeleteViewScrollView->Add(AttentionLabel);\r
+ /* -------------------------------------------------------------------------- */\r
+ labelconfig.top = 215;\r
+ labelconfig.textId = STR_AUDIO_XX;\r
+ DeleteNameLabel = CreateRecordDeleteLabel(labelconfig);\r
+ if (nullptr == DeleteNameLabel)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordDeleteView::AttentionLabel[1] is nullptr!");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordDeleteView::DeleteNameLabel is nullptr!");\r
return false;\r
}\r
+ RecordDeleteViewScrollView->Add(DeleteNameLabel);\r
\r
return true;\r
}\r
\r
- bool RecordDeleteView::SetUpButton(void)\r
+ bool RecordDeleteView::RecordDeleteButtonViewInit(void)\r
{\r
- UIView::OnClickListener *clickLister = static_cast<UIView::OnClickListener *>(RecordingPresenter::GetInstance());\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordDeleteView::RecordDeleteButtonViewInit");\r
+ UIView::OnClickListener *clickListener = static_cast<UIView::OnClickListener *>(RecordingPresenter::GetInstance());\r
+ if (clickListener == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "clickListener is nullptr!!");\r
+ return false;\r
+ }\r
RECORD_DELETE_OFF_BUTTON = new UIButton();\r
if (RECORD_DELETE_OFF_BUTTON == nullptr)\r
{\r
RECORD_DELETE_OFF_BUTTON->SetPosition(111, 299, 100, 100);\r
RECORD_DELETE_OFF_BUTTON->SetViewId(RECORD_DELETE_OFF_BUTTON_VIEWID);\r
RECORD_DELETE_OFF_BUTTON->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
+ RECORD_DELETE_OFF_BUTTON->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff000000, UIButton::PRESSED);\r
RECORD_DELETE_OFF_BUTTON->SetImageSrc("/user/res/SYSTEM_CheckOff.bin", "/user/res/SYSTEM_CheckOff.bin");\r
- RECORD_DELETE_OFF_BUTTON->SetOnClickListener(clickLister);\r
-\r
+ RECORD_DELETE_OFF_BUTTON->SetOnClickListener(clickListener);\r
+ RecordDeleteViewScrollView->Add(RECORD_DELETE_OFF_BUTTON);\r
+ /* -------------------------------------------------------------------------- */\r
RECORD_DELETE_ON_BUTTON = new UIButton();\r
if (RECORD_DELETE_ON_BUTTON == nullptr)\r
{\r
RECORD_DELETE_ON_BUTTON->SetPosition(256, 299, 100, 100);\r
RECORD_DELETE_ON_BUTTON->SetViewId(RECORD_DELETE_ON_BUTTON_VIEWID);\r
RECORD_DELETE_ON_BUTTON->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
+ RECORD_DELETE_ON_BUTTON->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff000000, UIButton::PRESSED);\r
RECORD_DELETE_ON_BUTTON->SetImageSrc("/user/res/SYSTEM_CheckOn.bin", "/user/res/SYSTEM_CheckOn.bin");\r
- RECORD_DELETE_ON_BUTTON->SetOnClickListener(clickLister);\r
-\r
+ RECORD_DELETE_ON_BUTTON->SetOnClickListener(clickListener);\r
+ RecordDeleteViewScrollView->Add(RECORD_DELETE_ON_BUTTON);\r
return true;\r
}\r
\r
UIScrollView *RecordDeleteView::RecordDeleteViewInit(void)\r
{\r
- if (!SetUpScrollView())\r
- {\r
- return nullptr;\r
- }\r
-\r
- if (!SetRecordDeleteViewLabel())\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordDeleteViewInit");\r
+ if (!RecordDeleteScrollViewInit() || !RecordDeleteLabelViewInit() || !RecordDeleteButtonViewInit())\r
{\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordDeleteViewInit fail!!");\r
return nullptr;\r
}\r
\r
- if (!SetUpButton())\r
- {\r
- return nullptr;\r
- }\r
- /* ----------------------------------- Add ---------------------------------- */\r
- RecordDeleteViewScrollView->Add(TitleLabel);\r
- RecordDeleteViewScrollView->Add(AttentionLabel[0]);\r
- RecordDeleteViewScrollView->Add(AttentionLabel[1]);\r
- RecordDeleteViewScrollView->Add(RECORD_DELETE_ON_BUTTON);\r
- RecordDeleteViewScrollView->Add(RECORD_DELETE_OFF_BUTTON);\r
- initViewStatus = true;\r
return RecordDeleteViewScrollView;\r
}\r
\r
\r
RecordGoingView::RecordGoingView()\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordGoingView::RecordGoingView");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordGoingView::RecordGoingView");\r
g_pRecordGoingView = this;\r
}\r
\r
RecordGoingView::~RecordGoingView()\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordGoingView::~RecordGoingView");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordGoingView::~RecordGoingView");\r
ClearAll();\r
g_pRecordGoingView = nullptr;\r
}\r
\r
void RecordGoingView::ClearAll()\r
{\r
- if (initViewStatus == true)\r
+ if (RecordGoingViewScrollView != nullptr)\r
{\r
RecordGoingViewScrollView->RemoveAll();\r
\r
}\r
}\r
\r
- bool RecordGoingView::SetUpScrollView(void)\r
+ UILabel *RecordGoingView::GetRecordingDurationLabel(void)\r
{\r
- RecordGoingViewScrollView = new UIScrollView();\r
- if (RecordGoingViewScrollView == nullptr)\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordGoingView::GetRecordingDurationLabel");\r
+ if (Timer == nullptr)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordGoingView::RecordGoingViewScrollView new fail!");\r
- return false;\r
+ return nullptr;\r
}\r
- UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(RecordingPresenter::GetInstance());\r
- if (draglistener == nullptr)\r
+ return Timer;\r
+ }\r
+\r
+ void RecordGoingView::AddViewsToScrollView(UIScrollView *scrollView, UIView *views[], int numViews)\r
+ {\r
+ for (int i = 0; i < numViews; ++i)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordGoingView::draglistener can not be nullptr!");\r
- return false;\r
+ scrollView->Add(views[i]);\r
}\r
- RecordGoingViewScrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
- RecordGoingViewScrollView->SetTouchable(true);\r
- RecordGoingViewScrollView->SetDraggable(true);\r
- return true;\r
}\r
\r
- UILabel *RecordGoingView::SetUpLabel(LabelConfig &labelconfig) // 设置标签\r
+ void RecordGoingView::AddViewsToRecordGoingViewScrollView()\r
+ {\r
+ UIView *viewsToAdd[] = {\r
+ TitleLabel,\r
+ RECORD_GOING_IMAGE,\r
+ RECORD_GOING_BUTTON,\r
+ Timer,\r
+ RecordGoingLabel,\r
+ };\r
+\r
+ int numViews = sizeof(viewsToAdd) / sizeof(viewsToAdd[0]);\r
+ AddViewsToScrollView(RecordGoingViewScrollView, viewsToAdd, numViews);\r
+ }\r
+\r
+ UILabel *RecordGoingView::CreateRecordGoingLabel(LabelConfig &labelconfig)\r
{\r
UILabel *label = new UILabel();\r
if (label == nullptr)\r
return label;\r
}\r
\r
- bool RecordGoingView::SetRecordGoingViewLabel(void)\r
+ UILabelExt *RecordGoingView::CreateRecordGoingLabelExt(LabelConfig &labelconfig)\r
+ {\r
+ UILabelExt *label = new UILabelExt();\r
+ if (label == nullptr)\r
+ {\r
+ return nullptr;\r
+ }\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->SetTextId(labelconfig.textId); // 内容\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
+ bool RecordGoingView::RecordGoingScrollViewInit(void)\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordGoingView::RecordGoingScrollViewInit");\r
+ RecordGoingViewScrollView = new UIScrollView();\r
+ if (RecordGoingViewScrollView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordGoingView::RecordGoingViewScrollView new fail!");\r
+ return false;\r
+ }\r
+ UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(RecordingPresenter::GetInstance());\r
+ if (draglistener == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordGoingView::draglistener can not be nullptr!");\r
+ return false;\r
+ }\r
+ RecordGoingViewScrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
+ RecordGoingViewScrollView->SetTouchable(true);\r
+ RecordGoingViewScrollView->SetDraggable(true);\r
+ return true;\r
+ }\r
+\r
+ bool RecordGoingView::RecordGoingLabelViewInit(void)\r
{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordGoingView::RecordGoingLabelViewInit");\r
LabelConfig labelconfig = {\r
- .left = 188,\r
+ .left = 83,\r
.top = 52,\r
- .width = 90,\r
+ .width = 300,\r
.height = 35,\r
.fontSize = 30,\r
.lineHeigh = 35,\r
- .text = "录音机",\r
- .lineBreakMode = UILabel::LINE_BREAK_ADAPT,\r
+ //.text = "录音机",\r
+ .textId = STR_RECORDER,\r
+ .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
};\r
\r
- TitleLabel = SetUpLabel(labelconfig);\r
+ TitleLabel = CreateRecordGoingLabelExt(labelconfig);\r
if (nullptr == TitleLabel)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordGoingView::TitleLabel is nullptr!");\r
return false;\r
}\r
- labelconfig.top = 370;\r
- labelconfig.text = "录音中";\r
- RecordGoingLabel = SetUpLabel(labelconfig);\r
+ /* -------------------------------------------------------------------------- */\r
+ labelconfig = {\r
+ .left = 83,\r
+ .top = 380,\r
+ .width = 300,\r
+ .height = 35,\r
+ .fontSize = 30,\r
+ .lineHeigh = 35,\r
+ //.text = "录音机",\r
+ .textId = STR_RECORDING,\r
+ .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
+ };\r
+ RecordGoingLabel = CreateRecordGoingLabelExt(labelconfig);\r
if (nullptr == RecordGoingLabel)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordGoingView::RecordGoingLabel is nullptr!");\r
\r
labelconfig = {\r
.left = 83,\r
- .top = 290,\r
+ .top = 300,\r
.width = 300,\r
.height = 77,\r
.fontSize = 65,\r
.lineHeigh = 76,\r
.text = "00:00:00",\r
- .lineBreakMode = UILabel::LINE_BREAK_WRAP,\r
+ .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
};\r
- Timer = SetUpLabel(labelconfig);\r
+ Timer = CreateRecordGoingLabel(labelconfig);\r
if (nullptr == Timer)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordGoingView::Timer is nullptr!");\r
return true;\r
}\r
\r
- bool RecordGoingView::SetUpImageView(void)\r
+ bool RecordGoingView::RecordGoingImageViewInit(void)\r
{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordGoingView::RecordGoingImageViewInit");\r
RECORD_GOING_IMAGE = new UIImageView();\r
if (RECORD_GOING_IMAGE == nullptr)\r
{\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordGoingView::RECORD_GOING_IMAGE is nullptr!");\r
+ return false;\r
}\r
RECORD_GOING_IMAGE->SetPosition(158, 129, 150, 150);\r
RECORD_GOING_IMAGE->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
return true;\r
}\r
\r
- bool RecordGoingView::SetUpButton(void)\r
+ bool RecordGoingView::RecordGoingButtonViewInit(void)\r
{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordGoingView::RecordGoingButtonViewInit");\r
RECORD_GOING_BUTTON = new UIButton();\r
if (RECORD_GOING_BUTTON == nullptr)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordGoingView::RECORD_GOING_BUTTON new fail!");\r
+ return false;\r
}\r
RECORD_GOING_BUTTON->SetPosition(210, 180, 60, 60);\r
RECORD_GOING_BUTTON->SetViewId(RECORD_GOING_BUTTON_VIEWID);\r
RECORD_GOING_BUTTON->SetStyle(STYLE_BACKGROUND_COLOR, 0xffff5a36);\r
RECORD_GOING_BUTTON->SetStyle(STYLE_BORDER_RADIUS, 20);\r
-\r
RECORD_GOING_BUTTON->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
RECORD_GOING_BUTTON->SetStyleForState(STYLE_BORDER_RADIUS, 20, UIButton::PRESSED);\r
-\r
UIView::OnClickListener *clickListener = static_cast<UIView::OnClickListener *>(RecordingPresenter::GetInstance());\r
RECORD_GOING_BUTTON->SetOnClickListener(clickListener);\r
- return true;\r
- }\r
\r
- UILabel *RecordGoingView::GetRecordingDurationLabel(void)\r
- {\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordGoingView::GetRecordingDurationLabel");\r
- if(Timer == nullptr)\r
- {\r
- return nullptr;\r
- }\r
- return Timer;\r
+ return true;\r
}\r
\r
UIScrollView *RecordGoingView::RecordGoingViewInit()\r
{\r
- if (!SetUpScrollView())\r
- {\r
- return nullptr;\r
- }\r
-\r
- if (!SetRecordGoingViewLabel())\r
- {\r
- return nullptr;\r
- }\r
-\r
- if (!SetUpImageView())\r
- {\r
- return nullptr;\r
- }\r
-\r
- if (!SetUpButton())\r
+ if (!RecordGoingScrollViewInit() || !RecordGoingLabelViewInit() ||\r
+ !RecordGoingImageViewInit() || !RecordGoingButtonViewInit())\r
{\r
return nullptr;\r
}\r
\r
- /* ----------------------------------- Add ---------------------------------- */\r
+#if 1\r
+ AddViewsToRecordGoingViewScrollView();\r
+#else\r
RecordGoingViewScrollView->Add(TitleLabel);\r
RecordGoingViewScrollView->Add(RECORD_GOING_IMAGE);\r
RecordGoingViewScrollView->Add(RECORD_GOING_BUTTON);\r
RecordGoingViewScrollView->Add(Timer);\r
RecordGoingViewScrollView->Add(RecordGoingLabel);\r
- initViewStatus = true;\r
+#endif\r
return RecordGoingViewScrollView;\r
}\r
\r
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-02-27 09:16:52\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-06-12 18:10:55\r
+ * @LastEditTime: 2024-06-13 09:42:18\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordListView.cpp\r
*/\r
\r
}\r
}\r
\r
- bool RecordListView::SetUpScrollView(void)\r
+ // 添加录音到list\r
+ void RecordListView::AddRecordingToList(const RecordingListItem &item)\r
{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordListView::SetUpScrollView");\r
- RecordListScrollView = new UIScrollView();\r
- if (RecordListScrollView == nullptr)\r
+ p_RecordingListAdapter->AddListItem(item);\r
+ }\r
+\r
+ // 把录音信息数据拿到存储到list中\r
+ void RecordListView::InitRecordingInfo(void)\r
+ {\r
+ std::vector<OHOS::RecordingListItem> &item = RecordingModel::GetInstance()->GetRecordinglistItems();\r
+ for (int i = 0; i < RecordingModel::GetInstance()->GetRecordingListNum(); i++)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordListScrollView new fail!");\r
- return false;\r
+ AddRecordingToList(item[i]);\r
}\r
- RecordListScrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
- UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(new RecordListViewListener());\r
- if (draglistener == nullptr)\r
+ }\r
+\r
+ // 每次录音完将数据刷新显示到list\r
+ void RecordListView::RefreshRecordingListData(void)\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordListView::RefreshRecordingListData");\r
+ RecordingModel::GetInstance()->InitRecordingListItem();\r
+ p_RecordingListAdapter->ClearData();\r
+ InitRecordingInfo();\r
+ recordList->RefreshList();\r
+ if (RecordingModel::GetInstance()->GetRecordingListNum() == 0)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "draglistener can not be nullptr!");\r
- return false;\r
+ IsVisibleLabel(true);\r
}\r
- RecordListScrollView->SetViewId(RECORDLISTSCROLLVIEW);\r
- RecordListScrollView->SetOnDragListener(draglistener);\r
- RecordListScrollView->SetTouchable(true);\r
- RecordListScrollView->SetDraggable(true);\r
+ else\r
+ {\r
+ IsVisibleLabel(false);\r
+ }\r
+ return;\r
+ }\r
\r
- return true;\r
+ // 设置提醒标签是否可见\r
+ void RecordListView::IsVisibleLabel(bool value)\r
+ {\r
+ if (value == true)\r
+ {\r
+ RecordListViewAttentionLabel->SetVisible(true);\r
+ recordList->SetVisible(false); // 列表设置不可见\r
+ RecordListScrollView->SetVerticalScrollState(false);\r
+ }\r
+ else\r
+ {\r
+ RecordListViewAttentionLabel->SetVisible(false);\r
+ recordList->SetVisible(true); // 列表设置可见\r
+ RecordListScrollView->SetVerticalScrollState(true);\r
+ }\r
+ }\r
+\r
+ //根据录音列表中录音的数量来更新某个标签或视图的可见性。\r
+ void RecordListView::UpdateVisibilityBasedOnRecordingList()\r
+ {\r
+ if (RecordingModel::GetInstance()->GetRecordingListNum() == 0)\r
+ {\r
+ IsVisibleLabel(true);\r
+ }\r
+ else\r
+ {\r
+ IsVisibleLabel(false);\r
+ }\r
}\r
\r
- // 设置标签\r
- UILabelExt *RecordListView::SetUpLabel(LabelConfig &labelconfig)\r
+ UILabelExt *RecordListView::CreateRecordListLabel(LabelConfig &labelconfig)\r
{\r
UILabelExt *label = new UILabelExt();\r
if (label == nullptr)\r
return label;\r
}\r
\r
- // 设置录音视图的标签\r
- bool RecordListView::SetUpRecordListViewLabel(void)\r
+ bool RecordListView::RecordListScrollViewInit(void)\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordListView::RecordListScrollViewInit");\r
+ RecordListScrollView = new UIScrollView();\r
+ if (RecordListScrollView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordListScrollView new fail!");\r
+ return false;\r
+ }\r
+ RecordListScrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
+ UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(new RecordListViewListener());\r
+ if (draglistener == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "draglistener can not be nullptr!");\r
+ return false;\r
+ }\r
+ RecordListScrollView->SetViewId(RECORDLISTSCROLLVIEW);\r
+ RecordListScrollView->SetOnDragListener(draglistener);\r
+ RecordListScrollView->SetTouchable(true);\r
+ RecordListScrollView->SetDraggable(true);\r
+\r
+ return true;\r
+ }\r
+\r
+ bool RecordListView::RecordListLabelViewInit(void)\r
{\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordListView::SetUpRecordListViewLabel");\r
LabelConfig labelconfig = {\r
.lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
};\r
\r
- RecordListViewTitleLabel = SetUpLabel(labelconfig);\r
+ RecordListViewTitleLabel = CreateRecordListLabel(labelconfig);\r
if (nullptr == RecordListViewTitleLabel)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordListViewTitleLabel is nullptr!");\r
.textId = STR_CRLEMPTY,\r
.lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
};\r
- RecordListViewAttentionLabel = SetUpLabel(labelconfig);\r
+ RecordListViewAttentionLabel = CreateRecordListLabel(labelconfig);\r
if (nullptr == RecordListViewAttentionLabel)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordListViewAttentionLabel is nullptr!");\r
return true;\r
}\r
\r
- bool RecordListView::SetUpRecordingList(void)\r
+ bool RecordListView::RecordListListViewInit(void)\r
{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordListView::SetUpRecordingList");\r
- // UIList 的适配器\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordListView::RecordListViewInit");\r
p_RecordingListAdapter = new RecordingListAdapter();\r
clickListener = static_cast<UIView::OnClickListener *>(new RecordListViewListener());\r
p_RecordingListAdapter->SetItemClickListener(clickListener);\r
return true;\r
}\r
\r
- /// @brief 添加录音到list\r
- /// @param item\r
- void RecordListView::AddRecordingToList(const RecordingListItem &item)\r
- {\r
- p_RecordingListAdapter->AddListItem(item);\r
- }\r
-\r
- // 把录音信息数据拿到存储到list中\r
- void RecordListView::InitRecordingInfo(void)\r
- {\r
- std::vector<OHOS::RecordingListItem> &item = RecordingModel::GetInstance()->GetRecordinglistItems();\r
- for (int i = 0; i < RecordingModel::GetInstance()->GetRecordingListNum(); i++)\r
- {\r
- AddRecordingToList(item[i]);\r
- }\r
- }\r
-\r
- /*\r
- * @brief 每次录音完将数据刷新显示到list\r
- */\r
- void RecordListView::RefreshRecordingListData(void)\r
- {\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordListView::RefreshRecordingListData");\r
- RecordingModel::GetInstance()->InitRecordingListItem();\r
- p_RecordingListAdapter->ClearData();\r
- InitRecordingInfo();\r
- recordList->RefreshList();\r
- if (RecordingModel::GetInstance()->GetRecordingListNum() == 0)\r
- {\r
- IsVisibleLabel(true);\r
- }\r
- else\r
- {\r
- IsVisibleLabel(false);\r
- }\r
- return;\r
- }\r
-\r
- // 设置提醒标签是否可见\r
- void RecordListView::IsVisibleLabel(bool value)\r
- {\r
- if (value == true)\r
- {\r
- RecordListViewAttentionLabel->SetVisible(true);\r
- recordList->SetVisible(false); // 列表设置不可见\r
- RecordListScrollView->SetVerticalScrollState(false);\r
- }\r
- else\r
- {\r
- RecordListViewAttentionLabel->SetVisible(false);\r
- recordList->SetVisible(true); // 列表设置可见\r
- RecordListScrollView->SetVerticalScrollState(true);\r
- }\r
- }\r
-\r
UIScrollView *RecordListView::RecordListViewInit()\r
{\r
- if (!SetUpScrollView())\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingView::RecordListViewInit");\r
+ // 如果其中任何一个初始化函数返回 false(即初始化失败),则会打印错误日志并返回空指针。\r
+ if (!RecordListScrollViewInit() || !RecordListLabelViewInit() || !RecordListListViewInit())\r
{\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordListViewInit fail!!");\r
return nullptr;\r
}\r
\r
- if (!SetUpRecordingList())\r
- {\r
- return nullptr;\r
- }\r
-\r
- if (!SetUpRecordListViewLabel())\r
- {\r
- return nullptr;\r
- }\r
if (RecordingModel::GetInstance()->GetRecordingListNum() == 0)\r
{\r
IsVisibleLabel(true);\r
+/*
+ * @Author: luozheng 1732036298@qq.com
+ * @Date: 2024-03-02 20:10:18
+ * @LastEditors: luozheng 1732036298@qq.com
+ * @LastEditTime: 2024-06-13 11:41:18
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingListitemView.cpp
+ */
#include "record/include/RecordingListitemView.h"
#include "wearable_log.h"
m_button.SetPosition(0, 0, 380, 100);
m_button.SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
- m_button.SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff4FC34C, UIButton::PRESSED);
+ m_button.SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff383838, UIButton::PRESSED);
SetLabelStyle(m_recordId, 35, 33, 96, 35, textColor, 25);
SetLabelStyle(m_recordTotalTime, 268, 19, 73, 35, textColor, 25);
\r
RecordingPlayerView::RecordingPlayerView()\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingPlayerView::RecordingPlayerView");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingPlayerView::RecordingPlayerView");\r
g_pRecordPlayView = this;\r
}\r
\r
RecordingPlayerView::~RecordingPlayerView()\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingPlayerView::~RecordingPlayerView");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingPlayerView::~RecordingPlayerView");\r
ClearAll();\r
g_pRecordPlayView = nullptr;\r
}\r
}\r
}\r
\r
- // 亮屏时长视图“scrollView”初始化\r
- bool RecordingPlayerView::SetUpScrollView(void)\r
- {\r
- RecordingPlayerViewScrollView = new UIScrollView();\r
- if (RecordingPlayerViewScrollView == nullptr)\r
- {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenDurationView::RecordingPlayerViewScrollView new fail!");\r
- return false;\r
- }\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
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenDurationView::draglistener can not be nullptr!");\r
- return false;\r
- }\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
return button;\r
}\r
\r
+ // 亮屏时长视图“scrollView”初始化\r
+ bool RecordingPlayerView::SetUpScrollView(void)\r
+ {\r
+ RecordingPlayerViewScrollView = new UIScrollView();\r
+ if (RecordingPlayerViewScrollView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenDurationView::RecordingPlayerViewScrollView new fail!");\r
+ return false;\r
+ }\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
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenDurationView::draglistener can not be nullptr!");\r
+ return false;\r
+ }\r
+ RecordingPlayerViewScrollView->SetOnDragListener(draglistener);\r
+ RecordingPlayerViewScrollView->SetTouchable(true);\r
+ RecordingPlayerViewScrollView->SetDraggable(true);\r
+ return true;\r
+ }\r
+\r
bool RecordingPlayerView::SetUpRecordingPlayerViewLabel(void)\r
{\r
LabelConfig labelconfig = {\r
.left = 83,\r
.top = 52,\r
.width = 300,\r
- .height = 40,\r
+ .height = 35,\r
.fontSize = 30,\r
.lineHeigh = 35,\r
.text = "录音3",\r
- .lineBreakMode = UILabel::LINE_BREAK_ELLIPSIS,\r
+ .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
};\r
\r
RecordingFileName = SetUpLabel(labelconfig);\r
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-03-30 09:14:38\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-06-12 19:03:16\r
+ * @LastEditTime: 2024-06-13 11:46:34\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPresenter.cpp\r
*/\r
\r
#include "record/include/RecordingListitemView.h"\r
#include <service/graphic_service.h>\r
#include <unistd.h>\r
+#include "record/include/RecordingModel.h"\r
\r
namespace OHOS\r
{\r
p_RecordingModel->InitRecordingListItem();\r
p_RecordingModel->AudioInit();\r
Presenter<RecordingView>::OnStart();\r
- ScreenAlwaysOnCtr(1);\r
+ //ScreenAlwaysOnCtr(1);\r
}\r
\r
void RecordingPresenter::OnPause(void)\r
{\r
Presenter<RecordingView>::OnStop();\r
p_RecordingModel->ClearRecordingPlayer();\r
- ScreenAlwaysOnCtr(0);\r
+ //ScreenAlwaysOnCtr(0);\r
}\r
\r
bool RecordingPresenter::OnDrag(UIView &view, const DragEvent &event)\r
{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnDrag");\r
+ UNUSED(view);\r
+ UNUSED(event);\r
return true;\r
}\r
\r
bool RecordingPresenter::OnDragEnd(UIView &view, const DragEvent &event)\r
{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnDragEnd");\r
+\r
RecordingView *p_RecordingView = RecordingView::GetInstance();\r
if (p_RecordingView == nullptr)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingView GetInstance fail");\r
return false;\r
}\r
- if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)\r
+\r
+ UIScrollView *scrollView = static_cast<UIScrollView *>(&view);\r
+ if (scrollView == nullptr)\r
{\r
- for (int i = 0; i < MAX_RECORDINGVIEWID; i++)\r
- {\r
- if (p_RecordingView->GetRecordingViewScrollView(i) != nullptr &&\r
- p_RecordingView->GetRecordingViewScrollView(i)->IsVisible() == true)\r
- {\r
- if (i == RECORDINGVIEW)\r
- {\r
- //NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST);\r
- NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);\r
- return true;\r
- }\r
- else if (i == RECORDINGPLAYERVIEW)\r
- {\r
- p_RecordingView->ChangeView(i, RECORDINGLISTVIEW);\r
- return true;\r
- }\r
- else\r
- {\r
- p_RecordingView->ChangeView(i, RECORDINGVIEW);\r
- return true;\r
- }\r
- break;\r
- }\r
- }\r
- return true;\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "scrollView is nullptr");\r
+ return false;\r
}\r
- else if (event.GetDragDirection() == DragEvent::DIRECTION_BOTTOM_TO_TOP)\r
+\r
+ auto currentView = p_RecordingView->GetCurrentViewType(scrollView);\r
+\r
+ switch (event.GetDragDirection())\r
{\r
- if (p_RecordingView->GetRecordingViewScrollView(RECORDINGVIEW) != nullptr &&\r
- p_RecordingView->GetRecordingViewScrollView(RECORDINGVIEW)->IsVisible() == true)\r
+ case DragEvent::DIRECTION_LEFT_TO_RIGHT:\r
+ switch (currentView)\r
+ {\r
+ case RECORDINGVIEW:\r
+ NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);\r
+ break;\r
+ case RECORDINGPLAYERVIEW:\r
+ p_RecordingView->ChangeView(RECORDINGPLAYERVIEW, RECORDINGLISTVIEW);\r
+ break;\r
+ case RECORDINGDELETEVIEW:\r
+ p_RecordingView->ChangeView(RECORDINGDELETEVIEW, RECORDINGPLAYERVIEW);\r
+ break;\r
+ case RECORDINGVOLUMESETTINGVIEW:\r
+ p_RecordingView->ChangeView(RECORDINGVOLUMESETTINGVIEW, RECORDINGPLAYERVIEW);\r
+ break;\r
+ default:\r
+ break;\r
+ }\r
+ break;\r
+ case DragEvent::DIRECTION_BOTTOM_TO_TOP:\r
+ if (currentView == RECORDINGVIEW)\r
{\r
p_RecordingView->ChangeView(RECORDINGVIEW, RECORDINGLISTVIEW);\r
}\r
- return true;\r
+ break;\r
+ default:\r
+ break;\r
}\r
+\r
return true;\r
}\r
\r
// 如果是power键就返回上一级\r
if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
{\r
- uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();\r
- NativeAbility::GetInstance().ChangeSlice(preSlice);\r
+ NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);\r
}\r
return true;\r
}\r
return true;\r
}\r
\r
- bool RecordingVolumeSettingViewDragLister::OnDrag(UIView &view, const DragEvent &event)\r
- {\r
- return true;\r
- }\r
-\r
- bool RecordingVolumeSettingViewDragLister::OnDragEnd(UIView &view, const DragEvent &event)\r
- {\r
- UNUSED(view);\r
- RecordingView *p_RecordingView = RecordingView::GetInstance();\r
- if (p_RecordingView == nullptr)\r
- {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingView GetInstance fail");\r
- return false;\r
- }\r
- if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)\r
- {\r
- p_RecordingView->ChangeView(RECORDINGVOLUMESETTINGVIEW, RECORDINGPLAYERVIEW);\r
- }\r
- return true;\r
- }\r
-\r
/*\r
* @brief 播放按钮被点击\r
*/\r
return g_pRecordView;\r
}\r
\r
- void RecordingView::ClearAll(void)\r
- {\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingView::~RecordingView");\r
- if (container_ != nullptr)\r
- {\r
- container_->RemoveAll();\r
- delete container_;\r
- container_ = nullptr;\r
- }\r
-\r
- if (RecordingViewScrollView[RECORDINGVIEW] != nullptr)\r
- {\r
- RecordingViewScrollView[RECORDINGVIEW]->RemoveAll();\r
- delete RecordingViewScrollView[RECORDINGVIEW];\r
- RecordingViewScrollView[RECORDINGVIEW] = nullptr;\r
- }\r
- \r
- RecordingViewImageAnimator->Stop();\r
- delete RecordingViewImageAnimator;\r
- RecordingViewImageAnimator = nullptr;\r
-\r
- delete RecordingViewTitleLabel;\r
- RecordingViewTitleLabel = nullptr;\r
-\r
- delete RecordingViewButton;\r
- RecordingViewButton = nullptr;\r
-\r
- delete AttentionLabel;\r
- AttentionLabel = nullptr;\r
-\r
- delete RECORD1_Image;\r
- RECORD1_Image = nullptr;\r
-\r
- if (p_RecordListView != nullptr)\r
- {\r
- delete p_RecordListView;\r
- p_RecordListView = nullptr;\r
- }\r
- if (p_RecordGoingView != nullptr)\r
- {\r
- delete p_RecordGoingView;\r
- p_RecordGoingView = nullptr;\r
- }\r
- if (p_RecordingPlayerView != nullptr)\r
- {\r
- delete p_RecordingPlayerView;\r
- p_RecordingPlayerView = nullptr;\r
- }\r
-\r
- if (p_RecordDeleteView != nullptr)\r
- {\r
- delete p_RecordDeleteView;\r
- p_RecordDeleteView = nullptr;\r
- }\r
-\r
- if (p_RecordingVolumeSettingView != nullptr)\r
- {\r
- delete p_RecordingVolumeSettingView;\r
- p_RecordingVolumeSettingView = nullptr;\r
- }\r
- }\r
-\r
- // 录音视图scrollView初始化\r
- bool RecordingView::SetUpScrollView(void)\r
- {\r
- RecordingViewScrollView[RECORDINGVIEW] = new UIScrollView();\r
- if (RecordingViewScrollView[RECORDINGVIEW] == nullptr)\r
- {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingView::RecordingViewScrollView[RECORDINGVIEW] new fail!");\r
- return false;\r
- }\r
- RecordingViewScrollView[RECORDINGVIEW]->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
- RecordingViewScrollView[RECORDINGVIEW]->SetScrollBlankSize(35);\r
- RecordingViewScrollView[RECORDINGVIEW]->SetReboundSize(50);\r
- RecordingViewScrollView[RECORDINGVIEW]->SetDirection(1);\r
- UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(RecordingPresenter::GetInstance());\r
- if (draglistener == nullptr)\r
- {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingView::draglistener can not be nullptr!");\r
- return false;\r
- }\r
- RecordingViewScrollView[RECORDINGVIEW]->SetOnDragListener(draglistener);\r
- RecordingViewScrollView[RECORDINGVIEW]->SetTouchable(true);\r
- RecordingViewScrollView[RECORDINGVIEW]->SetDraggable(true);\r
- return true;\r
- }\r
-\r
- bool RecordingView::SetTheTitle(void)\r
+ int RecordingView::GetCurrentViewType(UIScrollView *view)\r
{\r
- RecordingViewTitleLabel = new UILabelExt();\r
- if (RecordingViewTitleLabel == nullptr)\r
+ for (int i = 0; i < MAX_RECORDINGVIEWID; ++i)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingView::RecordingViewTitleLabel new fail!");\r
- return false;\r
- }\r
- RecordingViewTitleLabel->SetPosition(83, 52,300,35);\r
- RecordingViewTitleLabel->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
- RecordingViewTitleLabel->SetStyle(STYLE_TEXT_FONT, 30);\r
- RecordingViewTitleLabel->SetStyle(STYLE_LINE_HEIGHT, 35);\r
- //RecordingViewTitleLabel->SetText("录音机");\r
- RecordingViewTitleLabel->SetTextId(STR_RECORDER);\r
- RecordingViewTitleLabel->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
- RecordingViewTitleLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- RecordingViewTitleLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
- return true;\r
- }\r
-\r
- UIButton *RecordingView::SetTheButton(ButtonConfig &buttonconfig, UIView::OnClickListener *clickListener)\r
- {\r
- UIButton *button = new UIButton();\r
- if (button == nullptr)\r
- {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " RecordingView::SetTheButton: button new fail!");\r
- return nullptr;\r
- }\r
- button->SetPosition(buttonconfig.x, buttonconfig.y, buttonconfig.w, buttonconfig.h);\r
- button->SetViewId(buttonconfig.ViewId);\r
- button->SetStyle(STYLE_BACKGROUND_COLOR, 0xffff5a36);\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
- //录音视图初始化\r
- void RecordingView::RecordingViewInit(void)\r
- {\r
- if (!SetUpScrollView() || !SetTheTitle())\r
- {\r
- return;\r
- }\r
-\r
- UIView::OnClickListener *buttonClick = static_cast<UIView::OnClickListener *>(RecordingPresenter::GetInstance());\r
- ButtonConfig buttonconfig;\r
- buttonconfig.x = 178;\r
- buttonconfig.y = 150;\r
- buttonconfig.w = 120;\r
- buttonconfig.h = 120;\r
- buttonconfig.ViewId = RECORD_BUTTON;\r
- RecordingViewButton = SetTheButton(buttonconfig, buttonClick);\r
-\r
- AttentionLabel = new UILabelExt();\r
- if (AttentionLabel == nullptr)\r
- {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingView::AttentionLabel new fail!");\r
- return;\r
- }\r
- AttentionLabel->SetPosition(53, 330,360,35);\r
- AttentionLabel->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
- AttentionLabel->SetStyle(STYLE_TEXT_FONT, 30);\r
- AttentionLabel->SetStyle(STYLE_LINE_HEIGHT, 35);\r
- //AttentionLabel->SetText("点击开始录音");\r
- AttentionLabel->SetTextId(STR_CLICK_TO_RECORD);\r
- AttentionLabel->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
- AttentionLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- AttentionLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
-\r
- if (RECORD1_Image == nullptr)\r
- {\r
- RECORD1_Image = new UIImageView();\r
- }\r
- RECORD1_Image->SetPosition(158, 129, 150, 150);\r
- RECORD1_Image->SetStyle(STYLE_BORDER_RADIUS, 10);\r
- RECORD1_Image->SetSrc(PNG_RECORD1_IMAGE);\r
-\r
- RecordingViewImageAnimator = new UIImageAnimatorView();\r
- if (RecordingViewImageAnimator == nullptr)\r
- {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingView::RecordingViewImageAnimator new fail!");\r
- return;\r
+ if (view == RecordingViewScrollView[i])\r
+ {\r
+ return i;\r
+ }\r
}\r
- RecordingViewImageAnimator->SetPosition(213, 400, 40, 40);\r
- RecordingViewImageAnimator->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
-\r
- RecordingViewImageAnimator->SetImageAnimatorSrc(RecordingViewImageAnimatorInfo, 2, 200);\r
- RecordingViewImageAnimator->SetTimeOfPause(200);\r
- RecordingViewImageAnimator->SetRepeatTimes(1);\r
- RecordingViewImageAnimator->SetReverse(true);\r
- RecordingViewImageAnimator->Start();\r
-\r
- RecordingViewScrollView[RECORDINGVIEW]->Add(RecordingViewTitleLabel);\r
- RecordingViewScrollView[RECORDINGVIEW]->Add(RECORD1_Image);\r
- RecordingViewScrollView[RECORDINGVIEW]->Add(RecordingViewButton);\r
- RecordingViewScrollView[RECORDINGVIEW]->Add(AttentionLabel);\r
- RecordingViewScrollView[RECORDINGVIEW]->Add(RecordingViewImageAnimator);\r
- container_->Add(RecordingViewScrollView[RECORDINGVIEW]);\r
+ return MAX_RECORDINGVIEWID;\r
}\r
\r
- UIScrollView *RecordingView::GetRecordingViewScrollView(int i)\r
+ // 设置按键监听\r
+ static void SetKeyActListener()\r
{\r
- return RecordingViewScrollView[i];\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetKeyActListener");\r
+ RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::RecordingPresenter::GetInstance();\r
+ RootView::GetInstance()->SetOnKeyActListener(keyactListener);\r
}\r
\r
/*\r
}\r
return true;\r
}\r
+\r
// 1.RecordingViewMapper:结构体定义了一个将视图ID映射到特定成员函数指针的映射表。\r
struct RecordingViewMapper\r
{\r
RecordingViewScrollView[showView]->SetVisible(true);\r
Draw();\r
}\r
- /* -------------------------------------------------------------------------- */\r
+\r
+ void RecordingView::ClearAll(void)\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingView::~RecordingView");\r
+ if (container_ != nullptr)\r
+ {\r
+ container_->RemoveAll();\r
+ delete container_;\r
+ container_ = nullptr;\r
+ }\r
+\r
+ if (RecordingViewScrollView[RECORDINGVIEW] != nullptr)\r
+ {\r
+ RecordingViewScrollView[RECORDINGVIEW]->RemoveAll();\r
+ delete RecordingViewScrollView[RECORDINGVIEW];\r
+ RecordingViewScrollView[RECORDINGVIEW] = nullptr;\r
+ }\r
+\r
+ RecordingViewImageAnimator->Stop();\r
+ delete RecordingViewImageAnimator;\r
+ RecordingViewImageAnimator = nullptr;\r
+\r
+ delete RecordingViewTitleLabel;\r
+ RecordingViewTitleLabel = nullptr;\r
+\r
+ delete RecordingViewButton;\r
+ RecordingViewButton = nullptr;\r
+\r
+ delete AttentionLabel;\r
+ AttentionLabel = nullptr;\r
+\r
+ delete RECORD1_Image;\r
+ RECORD1_Image = nullptr;\r
+\r
+ if (p_RecordListView != nullptr)\r
+ {\r
+ delete p_RecordListView;\r
+ p_RecordListView = nullptr;\r
+ }\r
+ if (p_RecordGoingView != nullptr)\r
+ {\r
+ delete p_RecordGoingView;\r
+ p_RecordGoingView = nullptr;\r
+ }\r
+ if (p_RecordingPlayerView != nullptr)\r
+ {\r
+ delete p_RecordingPlayerView;\r
+ p_RecordingPlayerView = nullptr;\r
+ }\r
+\r
+ if (p_RecordDeleteView != nullptr)\r
+ {\r
+ delete p_RecordDeleteView;\r
+ p_RecordDeleteView = nullptr;\r
+ }\r
+\r
+ if (p_RecordingVolumeSettingView != nullptr)\r
+ {\r
+ delete p_RecordingVolumeSettingView;\r
+ p_RecordingVolumeSettingView = nullptr;\r
+ }\r
+ }\r
+\r
+ UIButton *RecordingView::SetTheButton(ButtonConfig &buttonconfig, UIView::OnClickListener *clickListener)\r
+ {\r
+ UIButton *button = new UIButton();\r
+ if (button == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " SetTheButton: button new fail!");\r
+ return nullptr;\r
+ }\r
+ button->SetPosition(buttonconfig.x, buttonconfig.y, buttonconfig.w, buttonconfig.h);\r
+ button->SetViewId(buttonconfig.ViewId);\r
+ button->SetStyle(STYLE_BACKGROUND_COLOR, 0xffff5a36);\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 RecordingView::RecordingScrollViewInit(void)\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingView::RecordingScrollViewInit");\r
+ RecordingViewScrollView[RECORDINGVIEW] = new UIScrollView();\r
+ if (RecordingViewScrollView[RECORDINGVIEW] == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingViewScrollView[RECORDINGVIEW] new fail!");\r
+ return false;\r
+ }\r
+ RecordingViewScrollView[RECORDINGVIEW]->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
+ RecordingViewScrollView[RECORDINGVIEW]->SetScrollBlankSize(35);\r
+ RecordingViewScrollView[RECORDINGVIEW]->SetReboundSize(50);\r
+ RecordingViewScrollView[RECORDINGVIEW]->SetDirection(1);\r
+ RecordingViewScrollView[RECORDINGVIEW]->SetOnDragListener(presenter_);\r
+ RecordingViewScrollView[RECORDINGVIEW]->SetTouchable(true);\r
+ RecordingViewScrollView[RECORDINGVIEW]->SetDraggable(true);\r
+ return true;\r
+ }\r
+\r
+ bool RecordingView::RecordingLabelViewInit(void)\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingView::RecordingLabelViewInit");\r
+ RecordingViewTitleLabel = new UILabelExt();\r
+ if (RecordingViewTitleLabel == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingViewTitleLabel new fail!");\r
+ return false;\r
+ }\r
+ RecordingViewTitleLabel->SetPosition(83, 52, 300, 35);\r
+ RecordingViewTitleLabel->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ RecordingViewTitleLabel->SetStyle(STYLE_TEXT_FONT, 30);\r
+ RecordingViewTitleLabel->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+ // RecordingViewTitleLabel->SetText("录音机");\r
+ RecordingViewTitleLabel->SetTextId(STR_RECORDER);\r
+ RecordingViewTitleLabel->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
+ RecordingViewTitleLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ RecordingViewTitleLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ /* -------------------------------------------------------------------------- */\r
+ AttentionLabel = new UILabelExt();\r
+ if (AttentionLabel == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AttentionLabel new fail!");\r
+ return false;\r
+ }\r
+ AttentionLabel->SetPosition(53, 330, 360, 35);\r
+ AttentionLabel->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ AttentionLabel->SetStyle(STYLE_TEXT_FONT, 30);\r
+ AttentionLabel->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+ // AttentionLabel->SetText("点击开始录音");\r
+ AttentionLabel->SetTextId(STR_CLICK_TO_RECORD);\r
+ AttentionLabel->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
+ AttentionLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ AttentionLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+\r
+ return true;\r
+ }\r
+\r
+ bool RecordingView::RecordingButtonViewInit(void)\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingView::RecordingButtonViewInit");\r
+ ButtonConfig buttonconfig;\r
+ buttonconfig.x = 178;\r
+ buttonconfig.y = 150;\r
+ buttonconfig.w = 120;\r
+ buttonconfig.h = 120;\r
+ buttonconfig.ViewId = RECORD_BUTTON;\r
+ RecordingViewButton = SetTheButton(buttonconfig, presenter_);\r
+ if (RecordingViewButton == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingViewButton new fail!");\r
+ return false;\r
+ }\r
+\r
+ return true;\r
+ }\r
+\r
+ bool RecordingView::RecordingImageViewInit(void)\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingView::RecordingImageViewInit");\r
+ RECORD1_Image = new UIImageView();\r
+ if (RECORD1_Image == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RECORD1_Image new fail!");\r
+ return false;\r
+ }\r
+ RECORD1_Image->SetPosition(158, 129, 150, 150);\r
+ RECORD1_Image->SetStyle(STYLE_BORDER_RADIUS, 10);\r
+ RECORD1_Image->SetSrc(PNG_RECORD1_IMAGE);\r
+\r
+ return true;\r
+ }\r
+\r
+ bool RecordingView::RecordingImageAnimatorViewInit(void)\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingView::RecordingImageAnimatorViewInit");\r
+ RecordingViewImageAnimator = new UIImageAnimatorView();\r
+ if (RecordingViewImageAnimator == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingViewImageAnimator new fail!");\r
+ return false;\r
+ }\r
+ RecordingViewImageAnimator->SetPosition(213, 400, 40, 40);\r
+ RecordingViewImageAnimator->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ RecordingViewImageAnimator->SetImageAnimatorSrc(RecordingViewImageAnimatorInfo, 2, 200);\r
+ RecordingViewImageAnimator->SetTimeOfPause(200);\r
+ RecordingViewImageAnimator->SetRepeatTimes(1);\r
+ RecordingViewImageAnimator->SetReverse(true);\r
+ RecordingViewImageAnimator->Start();\r
+\r
+ return true;\r
+ }\r
+\r
+ // 录音视图初始化\r
+ void RecordingView::RecordingViewInit(void)\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingView::RecordingViewInit");\r
+ // 如果其中任何一个初始化函数返回 false(即初始化失败),则会打印错误日志并返回空指针。\r
+ if (!RecordingScrollViewInit() || !RecordingLabelViewInit() ||\r
+ !RecordingButtonViewInit() || !RecordingImageViewInit() || !RecordingImageAnimatorViewInit())\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingViewInit fail!!");\r
+ return;\r
+ }\r
+ RecordingViewScrollView[RECORDINGVIEW]->Add(RecordingViewTitleLabel);\r
+ RecordingViewScrollView[RECORDINGVIEW]->Add(RECORD1_Image);\r
+ RecordingViewScrollView[RECORDINGVIEW]->Add(RecordingViewButton);\r
+ RecordingViewScrollView[RECORDINGVIEW]->Add(AttentionLabel);\r
+ RecordingViewScrollView[RECORDINGVIEW]->Add(RecordingViewImageAnimator);\r
+ container_->Add(RecordingViewScrollView[RECORDINGVIEW]);\r
+ }\r
\r
void RecordingView::OnStart()\r
{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingView::OnStart");\r
View<RecordingPresenter>::OnStart();\r
SetContainerView(new UIViewGroup());\r
container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
- container_->SetOnDragListener(presenter_);\r
+ // container_->SetOnDragListener(presenter_);\r
container_->SetTouchable(true);\r
container_->SetDraggable(true);\r
\r
RecordingViewInit();\r
-\r
- // 增加按键监听\r
- RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::RecordingPresenter::GetInstance();\r
- RootView::GetInstance()->SetOnKeyActListener(keyactListener);\r
+ SetKeyActListener();\r
+ return;\r
}\r
\r
void RecordingView::OnSetUpView()\r
{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingView::OnSetUpView");\r
View<RecordingPresenter>::OnSetUpView();\r
Draw();\r
+ return;\r
}\r
\r
void RecordingView::OnTearDownView()\r
{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingView::OnTearDownView");\r
View<RecordingPresenter>::OnTearDownView();\r
return;\r
}\r
\r
void RecordingView::OnStop()\r
{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingView::OnStop");\r
View<RecordingPresenter>::OnStop();\r
RootView::GetInstance()->ClearOnKeyActListener();\r
ClearAll();\r
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-03-13 17:38:18
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-04-19 15:02:48
+ * @LastEditTime: 2024-06-13 11:21:31
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingVolumeSettingView.cpp
*/
#include "record/include/RecordingVolumeSettingView.h"
static RecordingVolumeSettingView *g_pRecordingVolumeSettingView{nullptr};
RecordingVolumeSettingView::RecordingVolumeSettingView()
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingVolumeSettingView::RecordingVolumeSettingView");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingVolumeSettingView::RecordingVolumeSettingView");
g_pRecordingVolumeSettingView = this;
}
RecordingVolumeSettingView::~RecordingVolumeSettingView()
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingVolumeSettingView::~RecordingVolumeSettingView");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingVolumeSettingView::~RecordingVolumeSettingView");
ClearAll();
g_pRecordingVolumeSettingView = nullptr;
}
{
if (initViewStatus == true)
{
- delete volumeDragListener;
- volumeDragListener = nullptr;
-
delete p_SoundAndVibrationVolumeSettingView;
p_SoundAndVibrationVolumeSettingView = nullptr;
}
UIScrollView *RecordingVolumeSettingView::RecordingVolumeSettingViewInit(void)
{
-
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingVolumeSettingView::RecordingVolumeSettingViewInit");
p_SoundAndVibrationVolumeSettingView = new SoundAndVibrationVolumeSettingView(SYSTEM_VOLUME);
if (p_SoundAndVibrationVolumeSettingView == nullptr)
{
return nullptr;
}
RecordingVolumeSettingViewScrollView = p_SoundAndVibrationVolumeSettingView->SetUpVolumeProcess();
- volumeDragListener = static_cast<UIView::OnDragListener *>(new RecordingVolumeSettingViewDragLister());
+ UIView::OnDragListener * volumeDragListener = static_cast<UIView::OnDragListener *>(RecordingPresenter::GetInstance());
if (volumeDragListener == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingPresenter GetInstance fail");