#include "components/ui_button.h"\r
#include "components/ui_digital_clock.h"\r
#include "components/ui_box_progress.h"\r
+#include "components/ui_circle_progress.h"\r
+\r
#include "SaveBatPresenter.h"\r
#include <thread>\r
\r
UIView *GetView();\r
\r
void RefreshView();\r
+\r
void InitBatteryView();\r
void InitTimeView();\r
void InitButtonView();\r
+ void InitShowBackView();\r
+\r
+ void UpdateView();\r
\r
private:\r
UIView::OnDragListener *draglistener{nullptr};\r
\r
SaveBatView(SaveBatView &&) = delete;\r
SaveBatView &operator=(SaveBatView &&) = delete;\r
-\r
- UILabel *timelabel = nullptr; // 时间\r
- UILabel *datelabel = nullptr; // 日期标签\r
- UILabel *weeklabel = nullptr; // 星期标签\r
-\r
+ /*省电界面*/\r
+ UILabel *timelabel = nullptr; // 时间\r
+ UILabel *datelabel = nullptr; // 日期标签\r
+ UILabel *weeklabel = nullptr; // 星期标签\r
UILabel *batterylabel = nullptr; // 电量标签\r
UIBoxProgress *batteryprogress{nullptr}; // 电池进度条\r
UIImageView *batteryiamge = nullptr; // 电池框图标\r
-\r
- UIButton *button_exit = nullptr; // 退出按键\r
+ UIButton *button_exit = nullptr; // 退出按键\r
+ /*退出界面*/\r
+ UILabel *curren_timelabel{nullptr};\r
+ UILabel *countlabel{nullptr};\r
+ UIImageView *wathchiamge = nullptr;\r
+ UICircleProgress *backprogress{nullptr};\r
};\r
} // namespace OHOS\r
\r
-/*** \r
+/***\r
* @Date: 2024-04-15 10:55:58\r
* @LastEditors: Caisking 3449750381@qq.com\r
- * @LastEditTime: 2024-08-17 11:49:58\r
+ * @LastEditTime: 2024-08-17 15:08:53\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/saveele/src/SaveBatPresenter.cpp\r
*/\r
\r
#include "AppViewIDs.h"\r
#include "components/ui_label_ext.h"\r
-#include"ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
#include "NativeAbility.h"\r
\r
#include "saveele/include/SaveBatPresenter.h"\r
#include "saveele/include/SaveEleModel.h"\r
+\r
+#include "string.h"\r
namespace OHOS\r
{\r
\r
\r
void SaveBatPresenter::OnStop(void)\r
{\r
-\r
+ SaveEleModel::GetInstance()->SetViewState(false);\r
Presenter<SaveBatView>::OnStop();\r
}\r
\r
\r
bool SaveBatPresenter::OnClick(UIView &view, const ClickEvent &event)\r
{\r
- \r
+ if (strcmp(view.GetViewId(), "button_exit") == 0)\r
+ {\r
+ /*点击*/\r
+ bool state = SaveEleModel::GetInstance()->GetViewState();\r
+ SaveEleModel::GetInstance()->SetViewState(!state);\r
+ SaveBatView::GetInstance()->UpdateView();\r
+ }\r
return true;\r
}\r
bool SaveBatPresenter::OnLongPress(UIView &view, const LongPressEvent &event)\r
{\r
- // 1.长按三秒button1\r
// 2.退出 button1NativeAbility::GetInstance().ChangeSlice(VIEW_SAVEELE);\r
// 3.返回 true 以消耗点击事件\r
if (strcmp(view.GetViewId(), "button_exit") == 0)\r
}\r
return true;\r
}\r
+ bool SaveBatPresenter::OnPress(UIView &view, const PressEvent &event)\r
+ {\r
+\r
+ return true;\r
+ }\r
+ bool SaveBatPresenter::OnRelease(UIView &view, const ReleaseEvent &event)\r
+ {\r
+ if (strcmp(view.GetViewId(), "button_exit") == 0)\r
+ {\r
+ /*释放*/\r
+ SaveEleModel::GetInstance()->SetViewState(false);\r
+ SaveBatView::GetInstance()->UpdateView();\r
+ }\r
+ return true;\r
+ }\r
void SaveBatPresenter::ExitView(void)\r
{\r
- if (SaveEleModel::GetInstance()->GetChargeStuaut())\r
+ if (SaveEleModel::GetInstance()->GetChargeStatus())\r
{\r
NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN);\r
}\r
\r
\r
#include "saveele/include/SaveBatView.h"\r
+#include "saveele/include/SaveEleModel.h"\r
\r
#include "common/image_cache_manager.h"\r
#include "UiConfig.h"\r
\r
static constexpr const char *WHITE_BATTERY = "/user/res/Battery/Battery-E.bin";\r
static constexpr const char *SAVE_BUTTON = "/user/res/Save_Ele/finger.bin";\r
+static constexpr const char *BACK_BUTTON = "/user/res/Save_Ele/finger2.bin";\r
+static constexpr const char *SAVE_WATHCH = "/user/res/Save_Ele/wathch.bin";\r
\r
namespace OHOS\r
{\r
// 构建日期和时间字符串\r
std::string dateStr =\r
(month < 10 ? "0" : "") + std::to_string(month) + "-" +\r
- (day < 10 ? "0" : "") + std::to_string(day)+" "+weekStr;\r
+ (day < 10 ? "0" : "") + std::to_string(day) + " " + weekStr;\r
\r
std::string stringtime =\r
(hour < 10 ? "0" : "") + std::to_string(hour) + ":" +\r
button_exit->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff000000, UIButton::PRESSED);\r
\r
button_exit->SetOnLongPressListener(presenter_);\r
+ // button_exit->SetOnClickListener(presenter_);\r
container_->Add(button_exit);\r
}\r
+ void SaveBatView::InitShowBackView()\r
+ {\r
+ // 时间\r
+ if (curren_timelabel == nullptr)\r
+ {\r
+ curren_timelabel = new UILabel();\r
+ }\r
+ curren_timelabel->SetPosition(181, 52);\r
+ curren_timelabel->Resize(200, 60);\r
+ curren_timelabel->SetViewId("label4");\r
+ curren_timelabel->SetStyle(STYLE_TEXT_FONT, 40);\r
+ curren_timelabel->SetText("12:10");\r
+ curren_timelabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
+ curren_timelabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ curren_timelabel->SetRollSpeed(0);\r
+ curren_timelabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 40);\r
+ container_->Add(curren_timelabel);\r
+ curren_timelabel->SetVisible(false);\r
+\r
+ // 圆形进度条\r
+ if (backprogress == nullptr)\r
+ {\r
+ backprogress = new UICircleProgress();\r
+ }\r
+ backprogress->SetPosition(143, 143);\r
+ backprogress->Resize(183, 186);\r
+ backprogress->SetViewId("circleProgress1");\r
+ backprogress->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
+ backprogress->SetBackgroundStyle(STYLE_BACKGROUND_COLOR, 0xff000000);\r
+ backprogress->SetBackgroundStyle(STYLE_LINE_WIDTH, 20);\r
+ backprogress->SetForegroundStyle(STYLE_BACKGROUND_COLOR, 0xff2195F6);\r
+ backprogress->SetForegroundStyle(STYLE_BORDER_COLOR, 0xff000000);\r
+ backprogress->SetForegroundStyle(STYLE_LINE_COLOR, 0xff18ef05);\r
+ backprogress->SetForegroundStyle(STYLE_LINE_WIDTH, 20);\r
+ backprogress->SetCenterPosition(92, 93);\r
+ backprogress->SetRadius(90);\r
+ backprogress->SetEndAngle(359);\r
+ backprogress->SetValue(30);\r
+ container_->Add(backprogress);\r
+ backprogress->SetVisible(false);\r
+\r
+ // 手表image\r
+ if (wathchiamge == nullptr)\r
+ {\r
+ wathchiamge = new UIImageView();\r
+ }\r
+ wathchiamge->SetPosition(188, 182);\r
+ wathchiamge->Resize(100, 100);\r
+ wathchiamge->SetViewId("image1");\r
+ wathchiamge->SetSrc(SAVE_WATHCH);\r
+ container_->Add(wathchiamge);\r
+ wathchiamge->SetVisible(false);\r
+\r
+ // 倒计时\r
+ if (countlabel == nullptr)\r
+ {\r
+ countlabel = new UILabel();\r
+ }\r
+ countlabel->SetPosition(221, 212);\r
+ countlabel->Resize(200, 60);\r
+ countlabel->SetViewId("label3");\r
+ countlabel->SetStyle(STYLE_TEXT_FONT, 40);\r
+ countlabel->SetText("3");\r
+ countlabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
+ countlabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ countlabel->SetRollSpeed(0);\r
+ countlabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 40);\r
+ container_->Add(countlabel);\r
+ countlabel->SetVisible(false);\r
+ }\r
\r
+ // 更新当前界面状态\r
+ void SaveBatView ::UpdateView()\r
+ {\r
+ bool state = SaveEleModel::GetInstance()->GetViewState();\r
+\r
+ /*原界面*/\r
+ timelabel->SetVisible(!state);\r
+ datelabel->SetVisible(!state);\r
+ weeklabel->SetVisible(!state);\r
+ batterylabel->SetVisible(!state);\r
+ batteryprogress->SetVisible(!state);\r
+ batteryiamge->SetVisible(!state);\r
+\r
+ /*退出界面*/\r
+ curren_timelabel->SetVisible(state);\r
+ countlabel->SetVisible(state);\r
+ wathchiamge->SetVisible(state);\r
+ backprogress->SetVisible(state);\r
+ /*\r
+ if (state)\r
+ button_exit->SetImageSrc(BACK_BUTTON, BACK_BUTTON);\r
+ else\r
+ button_exit->SetImageSrc(SAVE_BUTTON, SAVE_BUTTON);\r
+ */\r
+ }\r
void SaveBatView::OnStart()\r
{\r
container_ = new UIViewGroup();\r
{\r
return;\r
}\r
+\r
container_->SetPosition(0, 0);\r
container_->SetWidth(Screen::GetInstance().GetWidth());\r
container_->SetHeight(Screen::GetInstance().GetHeight());\r
InitBatteryView();\r
InitTimeView();\r
InitButtonView();\r
+ // InitShowBackView();\r
\r
RootView::GetInstance()->Add(container_);\r
}\r
\r
void SaveBatView::OnSetUpView()\r
{\r
-\r
View<SaveBatPresenter>::OnSetUpView();\r
Draw();\r
}\r
\r
void SaveBatView::OnTearDownView()\r
{\r
-\r
View<SaveBatPresenter>::OnTearDownView();\r
return;\r
}\r