${CMAKE_CURRENT_SOURCE_DIR}/nativeui/message/src/MessageModel.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/message/src/MessagePresenter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/message/src/MessageView.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/message/src/MessageCardView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/phoneservice/src/PhoneService.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/phoneservice/src/PhoneAudio.cpp
{VIEW_INDOORWALK, PNG_APPLIST_WALK_IMAGE, PNG_APPLIST_WALK_IMAGE, "室内步行", nullptr},
{VIEW_WEATHER, PNG_APPLIST_WEATHER_IMAGE, PNG_APPLIST_WEATHER_IMAGE, "天气", nullptr},
{VIEW_SETTING, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_SETTING_IMAGE, "设置", nullptr},
- {VIEW_MESSAGE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_CALLER_IMAGE, "信息通知", nullptr},
#if 0
{VIEW_MAIN_TEMP, PNG_APPLIST_TEMP_IMAGE, PNG_APPLIST_TEMP_IMAGE, "体温", nullptr},
{VIEW_CALLER_LOG, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_CALLER_IMAGE, "通话记录", nullptr},
{VIEW_OFFLINEVOICE, PNG_APPLIST_VOCASSIST_IMAGE, PNG_APPLIST_VOCASSIST_IMAGE, "语音助手", nullptr},
{VIEW_UISAMPLE, PNG_APPLIST_UI_SAMPLE_IMAGE, PNG_APPLIST_UI_SAMPLE_IMAGE, "示例", nullptr},
+ {VIEW_MESSAGE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_CALLER_IMAGE, "信息通知", nullptr},
#endif
};
#include "traing/include/TraingView.h"
#include "ApplistCardView.h"
#include "weather/include/WeatherControlView.h"
-#include "message/include/MessageCradView.h"
+#include "message/include/MessageCardView.h"
namespace OHOS
{
class MainPresenterSample;
bool continuDragFg{false};
PullUpDownView *dropDownView{nullptr};
/* -------------------------------------------------------------------------- */
- UICardPage *messageView{nullptr};
+ MessageCardView *messageView{nullptr};
UILabel *Messagelabel = nullptr;
UIList *Messagelist = nullptr;
IconAdapter *list1adapter_ = nullptr;
dropDownView->SetViewId("dropDownView");
dropDownView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
dropDownView->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
- /* -------------------------------------------------------------------------- */
- messageView = new UICardPage();
+
+ messageView = new MessageCardView();
if (messageView == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "messageView new fail");
return;
}
- // Add Label to App
- if (Messagelabel == nullptr)
- {
- Messagelabel = new UILabel();
- }
- Messagelabel->SetPosition(173, 51); // widget's left position and top position
- Messagelabel->Resize(200, 60); // widget's width and height
- Messagelabel->SetViewId("label1"); // Set style
- Messagelabel->SetStyle(STYLE_TEXT_FONT, 30);
- // Set additional property
- Messagelabel->SetText("信息通知");
- Messagelabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
- Messagelabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- Messagelabel->SetRollSpeed(0);
- Messagelabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
- // Add to rootView
- messageView->Add(Messagelabel);
- Messagelabel->SetVisible(true);
- // Add List to App
- if (Messagelist == nullptr)
- {
- Messagelist = new UIList();
- }
- Messagelist->SetPosition(100, 96); // widget's left position and top position
- Messagelist->Resize(246, 503); // widget's width and height
- Messagelist->SetViewId("list1"); // Set style
- Messagelist->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000);
- Messagelist->SetStyle(STYLE_BACKGROUND_OPA, 0x00);
- Messagelist->SetStyle(STYLE_PADDING_LEFT, 9);
- Messagelist->SetStyle(STYLE_PADDING_RIGHT, 10);
- Messagelist->SetStyle(STYLE_PADDING_TOP, 1);
- Messagelist->SetStyle(STYLE_PADDING_BOTTOM, 6);
- // Set additional property
- if (Messagelistdate == nullptr)
- {
- Messagelistdate = new List<IconItemNode *>();
- }
- IconItemNode *list1data1 = new IconItemNode();
- list1data1->imagePath = "/user/res/message/WeChat-icon.bin";
- list1data1->txt = "微信";
- Messagelistdate->PushBack(list1data1);
- IconItemNode *list1data2 = new IconItemNode();
- list1data2->imagePath = "/user/res/message/message-icon.bin";
- list1data2->txt = "消息";
- Messagelistdate->PushBack(list1data2);
- IconItemNode *list1data3 = new IconItemNode();
- list1data3->imagePath = "/user/res/message/QQ-icon.bin";
- list1data3->txt = "QQ";
- Messagelistdate->PushBack(list1data3);
- IconItemNode *list1data4 = new IconItemNode();
- list1data4->imagePath = "/user/res/message/system-icon.bin";
- list1data4->txt = "系统";
- Messagelistdate->PushBack(list1data4);
- if (list1adapter_ == nullptr)
- {
- list1adapter_ = new IconAdapter();
- }
- list1adapter_->SetItemSize(199, 86);
- list1adapter_->SetImageSize(71, 91);
- list1adapter_->SetImageOffset(20, 8);
- list1adapter_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
- list1adapter_->SetData(Messagelistdate);
- Messagelist->SetAdapter(list1adapter_);
- // Add to rootView
- messageView->Add(Messagelist);
- Messagelist->SetVisible(true);
-
- messageView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
- messageView->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
- /* -------------------------------------------------------------------------- */
-#if 0
messageView->PreLoad();
messageView->SetViewId("messageView");
+ messageView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
+ messageView->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
-#endif
-/* -------------------------------------------------------------------------- */
#if 0
messageView->SetPosition(0, 0);
messageView->SetWidth(Screen::GetInstance().GetWidth());
--- /dev/null
+/***
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-01-23 19:09:37
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-01-23 19:13:04
+ * @FilePath: /FD230/code/sdk/application/wearable/nativeapp/nativeui/message/include/MessageCardView.h
+ * @Description:
+ * @
+ * @Copyright (c) 2024 by Caisking , All Rights Reserved.
+ */
+#ifndef MESSAGE_CARD_VIEW_H
+#define MESSAGE_CARD_VIEW_H
+
+#include "components/root_view.h"
+#include "components/ui_card_page.h"
+#include "wearable_log.h"
+#include "message/include/MessageView.h"
+
+namespace OHOS
+{
+ class MessageCardView : public UICardPage
+ {
+ public:
+ MessageCardView();
+ virtual ~MessageCardView();
+ bool InitView(void);
+ void PreLoad(void) override;
+ void UnLoad(void) override;
+
+ private:
+ void ClearAll(void);
+ MessageView *messageview{nullptr};
+ bool viewiInitStatus{false};
+ };
+}
+#endif
-/***
+/***
* @Author: Caisking 3449750381@qq.com
* @Date: 2024-01-23 16:03:34
* @LastEditors: Caisking 3449750381@qq.com
* @LastEditTime: 2024-01-23 17:21:52
* @FilePath: /FD230/code/sdk/application/wearable/nativeapp/nativeui/message/include/MessageView.h
- * @Description:
+ * @Description:
* @
- * @Copyright (c) 2024 by Caisking , All Rights Reserved.
+ * @Copyright (c) 2024 by Caisking , All Rights Reserved.
*/
#ifndef Message_VIEW_H
#define Message_VIEW_H
#include "components/ui_scroll_view.h"
#include "components/ui_list.h"
#include "message/include/MessageAdapter.h"
+#include "message/include/MessageModel.h"
namespace OHOS
{
class MessagePresenter;
+ class MessageModel;
class MessageView : public View<MessagePresenter>
{
void OnTearDownView() override;
void OnStop() override;
void AddMessageToList(const MessageListItem &item);
+ bool InitPage();
+ bool SetupViewPage(MessageView *MessageView);
private:
void InitView(void);
MessageListAdapter *p_MessageListAdapter{nullptr};
UIList *MessageList = nullptr; // 音乐列表
UIView::OnDragListener *draglistener{nullptr};
+
+ MessagePresenter *g_MessagePresenter{nullptr};
+ MessageModel *g_MessageModel{nullptr};
bool viewInitStatus{false};
};
} // namespace OHOS
+/***
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-01-23 16:03:34
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-01-23 19:37:35
+ * @FilePath: /FD230/code/sdk/application/wearable/nativeapp/nativeui/message/src/MessageCardView.cpp
+ * @Description:
+ * @
+ * @Copyright (c) 2024 by Caisking , All Rights Reserved.
+ */
+#include "message/include/MessageCardView.h"
+
+namespace OHOS
+{
+ MessageCardView::MessageCardView()
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MessageCardView::MessageCardView()");
+ SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
+ }
+
+ MessageCardView::~MessageCardView()
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MessageCardView::~MessageCardView()");
+ ClearAll();
+ }
+
+ void MessageCardView::ClearAll(void)
+ {
+ if (viewiInitStatus == true)
+ {
+ RemoveAll();
+ if (messageview != nullptr)
+ {
+ delete messageview;
+ messageview = nullptr;
+ }
+ }
+ }
+
+ bool MessageCardView::InitView(void)
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MessageCardView::InitView()");
+ messageview = new MessageView();
+ if (messageview == nullptr)
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "WeatherView::new mainweatherView fail!");
+ return false;
+ }
+ if (messageview->InitPage() == false)
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "WeatherView->InitPage() == false!");
+ return false;
+ }
+ if (messageview->SetupViewPage(messageview) == false)
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MessageView->SetupViewPage() == false!");
+ return false;
+ }
+ viewiInitStatus = true;
+ return true;
+ }
+
+ void MessageCardView::PreLoad(void)
+ {
+ if (!viewiInitStatus)
+ {
+ InitView();
+ viewiInitStatus = true;
+ }
+ }
+
+ void MessageCardView::UnLoad(void)
+ {
+
+ }
+
+}
\ No newline at end of file
-/***
+/***
* @Author: Caisking 3449750381@qq.com
* @Date: 2024-01-22 16:20:34
* @LastEditors: Caisking 3449750381@qq.com
* @LastEditTime: 2024-01-23 18:11:40
* @FilePath: /FD230/code/sdk/application/wearable/nativeapp/nativeui/message/src/MessageView.cpp
- * @Description:
+ * @Description:
* @
- * @Copyright (c) 2024 by Caisking , All Rights Reserved.
+ * @Copyright (c) 2024 by Caisking , All Rights Reserved.
*/
#include "message/include/MessageView.h"
#include "message/include/MessagePresenter.h"
title->SetStyle(STYLE_TEXT_COLOR, Color::White().full);
title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
/* -------------------------------------------------------------------------- */
- //UIList 的适配器
+ // UIList 的适配器
p_MessageListAdapter = new MessageListAdapter();
p_MessageListAdapter->SetItemClickListener(presenter_);
if (MessageList == nullptr)
RootView::GetInstance()->RemoveAll();
return;
}
+ /* -------------------------------------------------------------------------- */
+ // 初始化页面
+ bool MessageView::InitPage()
+ {
+ if (scrollView == nullptr)
+ {
+ scrollView = new UIScrollView();
+ }
+ scrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
+ scrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
+ scrollView->SetScrollBlankSize(20);
+ scrollView->SetReboundSize(50);
+ scrollView->SetTouchable(true);
+ scrollView->SetDraggable(true);
+ draglistener = static_cast<UIView::OnDragListener *>(MessagePresenter::GetInstance());
+ scrollView->SetOnDragListener(draglistener);
+ /* -------------------------------------------------------------------------- */
+ if (title == nullptr)
+ {
+ title = new UILabel();
+ }
+ title->SetPosition(173, 52, 120, 35);
+ title->Resize(120, 35);
+ title->SetStyle(STYLE_TEXT_FONT, 30);
+ title->SetStyle(STYLE_LINE_HEIGHT, 36);
+ title->SetText("信息通知");
+ title->SetLineBreakMode(UILabel::LINE_BREAK_ELLIPSIS);
+ title->SetStyle(STYLE_TEXT_COLOR, Color::White().full);
+ title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+ /* -------------------------------------------------------------------------- */
+ // UIList 的适配器
+ p_MessageListAdapter = new MessageListAdapter();
+ p_MessageListAdapter->SetItemClickListener(presenter_);
+ if (MessageList == nullptr)
+ {
+ MessageList = new UIList();
+ }
+ MessageList->SetPosition(43, 120, 380, 600);
+ MessageList->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000);
+ scrollView->Add(title);
+ scrollView->Add(MessageList);
+ MessageList->SetAdapter(p_MessageListAdapter);
+ return true;
+ }
+
+ // 设置页面视图
+ bool MessageView::SetupViewPage(MessageView *MessageView)
+ {
+ const MessageListItem *itemInfo = g_MessageModel->GetMessagelistItems();
+ for (int i = 0; i < g_MessageModel->GetMessageListNum(); i++)
+ {
+ AddMessageToList(itemInfo[i]);
+ }
+ return true;
+ }
}
\ No newline at end of file