}
return true;
#endif
- return true;
}
bool HeartPresenter::OnClick(UIView &view, const ClickEvent &event)
-
+/***
+ * @Date: 2024-04-15 10:55:58
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-06-29 17:46:18
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingEnddataPresenter.h
+ */
#ifndef _TraingEnddata_PRESENTER_H
#define _TraingEnddata_PRESENTER_H
class TraingEnddataView;
class TraingEnddataPresenter : public Presenter<TraingEnddataView>,
- public UIView::OnClickListener,
- public UIView::OnDragListener
+ public UIView::OnClickListener,
+ public RootView::OnKeyActListener,
+ public UIView::OnDragListener
{
public:
TraingEnddataPresenter();
// 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;
bool OnClick(UIView &view, const ClickEvent &event) override;
bool OnDrag(UIView &view, const DragEvent &event) override;
- //bool OnDragEnd(UIView& view, const DragEvent& event) override;
+ bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件
+ // bool OnDragEnd(UIView& view, const DragEvent& event) override;
};
} // namespace OHOS
-/***
+/***
* @Date: 2024-04-15 10:55:58
* @LastEditors: Caisking 3449750381@qq.com
* @LastEditTime: 2024-04-17 14:18:05
class TraingNomalPresenter : public Presenter<TraingNomalView>,
public UIView::OnClickListener,
+ public RootView::OnKeyActListener,
public UIView::OnDragListener
{
public:
// 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;
bool OnClick(UIView &view, const ClickEvent &event) override;
bool OnDrag(UIView &view, const DragEvent &event) override;
+ bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件
// bool OnDragEnd(UIView& view, const DragEvent& event) override;
};
} // namespace OHOS
+/***
+ * @Date: 2024-04-15 10:55:58
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-06-29 17:42:47
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingPresenter.h
+ */
#ifndef _Traing_PRESENTER_H
#define _Traing_PRESENTER_H
class TraingPresenter : public Presenter<TraingView>,
public UIView::OnClickListener,
- public UIView::OnDragListener
+ public UIView::OnDragListener,
+ public RootView::OnKeyActListener
{
public:
TraingPresenter();
bool OnClick(UIView &view, const ClickEvent &event) override;
bool OnDrag(UIView &view, const DragEvent &event) override;
bool OnDragEnd(UIView &view, const DragEvent &event) override;
+ bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件
};
} // namespace OHOS
class TraingSetView;
class TraingSetPresenter : public Presenter<TraingSetView>,
public UIView::OnClickListener,
+ public RootView::OnKeyActListener,
public UIView::OnDragListener
{
public:
void OnStop() override;
static TraingSetPresenter *GetInstance();
-
+
const char *GetButtonIdFromCard(int cardID);
int GetTagFromCard(int cardID);
ExerciseTag GetExerciseTagFromCard(int cardID);
bool OnClick(UIView &view, const ClickEvent &event) override;
bool OnDrag(UIView &view, const DragEvent &event) override;
bool OnDragEnd(UIView &view, const DragEvent &event) override;
+ bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件
};
} // namespace OHOS
#include "components/ui_label_ext.h"
#include "language/font/ui_resource_string.h"
#include "NativeAbility.h"
+#include "KeyInputListener.h"
+#include "custom_utils.h"
+#include "common/key_code.h"
#include <iostream>
#include <chrono>
}
return true;
}
+ bool TraingEnddataPresenter::OnKeyAct(UIView &view, const KeyEvent &event)
+ {
+ unsigned short keyID = event.GetKeyId();
+ unsigned short keyState = event.GetState();
+ // 如果是power键,且是亮屏状态,按键释放就返回上一级
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ {
+ // 回退
+ NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST, TransitionType::TRANSITION_ZOOM);
+ }
+ return true;
+ }
}
delete scrollView_;
scrollView_ = nullptr;
}
-
+
delete container_;
container_ = nullptr;
}
PreLoad();
InitData();
RootView::GetInstance()->Add(container_);
+
+ // 增加按键监听
+ RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::TraingEnddataPresenter::GetInstance();
+ RootView::GetInstance()->SetOnKeyActListener(keyactListener);
}
void TraingEnddataView::OnSetUpView()
#include "components/ui_label_ext.h"\r
#include "language/font/ui_resource_string.h"\r
#include "NativeAbility.h"\r
+#include "KeyInputListener.h"\r
+#include "custom_utils.h"\r
+#include "common/key_code.h"\r
+\r
\r
#include <iostream>\r
#include <chrono>\r
}\r
return true;\r
}\r
+ bool TraingNomalPresenter::OnKeyAct(UIView &view, const KeyEvent &event)\r
+ {\r
+ unsigned short keyID = event.GetKeyId();\r
+ unsigned short keyState = event.GetState();\r
+ // 如果是power键,且是亮屏状态,按键释放就返回上一级\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+ {\r
+ // 回退\r
+ NativeAbility::GetInstance().Back();\r
+ }\r
+ return true;\r
+ }\r
}\r
PreLoad();
RootView::GetInstance()->Add(container_);
+
+ // 增加按键监听
+ RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::TraingNomalPresenter::GetInstance();
+ RootView::GetInstance()->SetOnKeyActListener(keyactListener);
}
void TraingNomalView::OnSetUpView()
#include "components/ui_label_ext.h"
#include "language/font/ui_resource_string.h"
#include "NativeAbility.h"
+#include "KeyInputListener.h"
+#include "custom_utils.h"
+#include "common/key_code.h"
#include <iostream>
#include <chrono>
TraingModel::GetInstance()->SetSportType(Exercisetype::FITNESS);
return true;
}
+
+ // 增加按键事件
+ bool TraingPresenter::OnKeyAct(UIView &view, const KeyEvent &event)
+ {
+ unsigned short keyID = event.GetKeyId();
+ unsigned short keyState = event.GetState();
+ // 如果是power键,且是亮屏状态,按键释放就返回上一级
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+ {
+ // 回退
+ NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST, TransitionType::TRANSITION_ZOOM);
+ }
+ return true;
+ }
}
#include "components/ui_label_ext.h"\r
#include "language/font/ui_resource_string.h"\r
#include "NativeAbility.h"\r
+#include "KeyInputListener.h"\r
+#include "custom_utils.h"\r
+#include "common/key_code.h"\r
\r
#include <iostream>\r
#include <chrono>\r
{\r
return true;\r
}\r
-\r
+ // 增加按键事件\r
+ bool TraingSetPresenter::OnKeyAct(UIView &view, const KeyEvent &event)\r
+ {\r
+ int CardID = TraingSetView::GetInstance()->GetCurrentViewId();\r
+ unsigned short keyID = event.GetKeyId();\r
+ unsigned short keyState = event.GetState();\r
+ // 如果是power键,且是亮屏状态,按键释放就返回上一级\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+ {\r
+ // 不在设置页面\r
+ if (CardID != SET_VIEW)\r
+ {\r
+ TraingSetView::GetInstance()->ChangeView(CardID, SET_VIEW);\r
+ }\r
+ else\r
+ {\r
+ NativeAbility::GetInstance().Back();\r
+ }\r
+ }\r
+ return true;\r
+ }\r
bool TraingSetPresenter::OnDragEnd(UIView &view, const DragEvent &event)\r
{\r
int CardID = TraingSetView::GetInstance()->GetCurrentViewId();\r
bool TraingView::AddLabel()\r
{\r
// WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TraingModel::AddLabel");\r
- // 初始化标签\r
+ // 初始化标签\r
InitLabelExt(title_label, TITLE_LABEL_X, TITLE_LABEL_Y, LABEL_X_SIZE, LABEL_Y_SIZE, "title_label", STR_RAPID_TRAINING, DEFAULT_VECTOR_FONT_FILENAME, LABEL_FONT_SIZE);\r
\r
InitLabelExt(btn1_label, BTN1_LABEL_X, BTN1_LABEL_Y, LABEL_X_SIZE, LABEL_Y_SIZE, "btu1_label", STR_EXERCISE_OUTDOORWALKING, DEFAULT_VECTOR_FONT_FILENAME, LABEL_FONT_SIZE);\r
return;\r
}\r
container_->SetOnDragListener(draglistener);\r
-\r
container_->SetTouchable(true);\r
container_->SetDraggable(true);\r
\r
\r
RootView::GetInstance()->Add(container_);\r
SetContainerView(container_);\r
+ // 增加按键监听\r
+ RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::TraingPresenter::GetInstance();\r
+ RootView::GetInstance()->SetOnKeyActListener(keyactListener);\r
}\r
\r
void TraingView::OnSetUpView()\r