1.解决运动详情页面按键不能退出和黑屏按键失效问题 3057/1 3057/head 3058/target/1
authorluozheng <1732036298@qq.com>
Fri, 9 Jan 2026 07:15:12 +0000 (15:15 +0800)
committerluozheng <1732036298@qq.com>
Fri, 9 Jan 2026 07:15:12 +0000 (15:15 +0800)
2.解决运动界面息屏后按键失效问题

code/sdk/application/wearable/fd272/nativeapp/nativeui/traing/include/TraingEnddataPresenter.h
code/sdk/application/wearable/fd272/nativeapp/nativeui/traing/src/TraingEnddataPresenter.cpp
code/sdk/application/wearable/fd272/nativeapp/nativeui/traingrecord/include/TraingRecordPresenter.h
code/sdk/application/wearable/fd272/nativeapp/nativeui/traingrecord/include/TraingRecordView.h
code/sdk/application/wearable/fd272/nativeapp/nativeui/traingrecord/src/TraingRecordPresenter.cpp
code/sdk/application/wearable/fd272/nativeapp/nativeui/traingrecord/src/TraingRecordView.cpp

index 6dfd2fd..3d3e727 100644 (file)
@@ -32,9 +32,7 @@ namespace OHOS
         virtual ~TraingEnddataPresenter();
 
         void OnStart() override;
-        void OnPause() override;
         void OnResume() override;
-        void OnStop() override;
         void NavigateBack(); // 返回函数
         static TraingEnddataPresenter *GetInstance();
 
index e238d92..0935250 100644 (file)
@@ -40,22 +40,10 @@ namespace OHOS
 
     void TraingEnddataPresenter::OnStart()
     {
-        Presenter<TraingEnddataView>::OnStart();
     }
-
-    void TraingEnddataPresenter::OnPause()
-    {
-        Presenter<TraingEnddataView>::OnPause();
-    }
-
     void TraingEnddataPresenter::OnResume()
     {
-        Presenter<TraingEnddataView>::OnResume();
-    }
-
-    void TraingEnddataPresenter::OnStop()
-    {
-        Presenter<TraingEnddataView>::OnStop();
+        RootView::GetInstance()->SetOnKeyActListener(this);
     }
 
     void TraingEnddataPresenter::NavigateBack()
index 670b79e..0756651 100644 (file)
@@ -21,7 +21,7 @@ namespace OHOS
         virtual ~TraingRecordPresenter();
 
         void OnStart() override;
-        void OnStop() override;
+        void OnResume() override;
         static TraingRecordPresenter *GetInstance();
         void NavigateBack();
 
index 6e8546b..1aef44c 100644 (file)
@@ -63,9 +63,9 @@ namespace OHOS
         void ShowLackView();
         void ShowRecordView();
         void SetPopupViewStatus(PopupRecord view, bool status);
-        int GetPopupRecordView();
         void AddToTraingRecordList(const TraingRecordItem &item);
         void RefreshTraingRecordList(const TraingRecordItem *itemInfo);
+        UIList *GetTraingRecordList();
     private:
         UIView::OnDragListener *draglistener{nullptr};
         TraingRecordView(TraingRecordView &&) = delete;
index 71ccac0..5c10254 100644 (file)
@@ -70,10 +70,13 @@ namespace OHOS
         view_->RefreshTraingRecordList(itemInfo);
     }
 
-    void TraingRecordPresenter::OnStop(void)
+    void TraingRecordPresenter::OnResume()
     {
-        Presenter<TraingRecordView>::OnStop();
+        RootView::GetInstance()->SetOnKeyActListener(this);
+        if(view_->GetTraingRecordList() != nullptr)
+            view_->GetTraingRecordList()->RequestFocus();
     }
+
     void TraingRecordPresenter::NavigateBack()
     {
         uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();
index f67e1fe..c8d38ab 100644 (file)
@@ -205,7 +205,7 @@ void TraingRecordView::ShowRecordView() {
     TraingRecordList = new UIList();
   }
   TraingRecordList->SetPosition(MORE_LIST_POSITION_X, MORE_LIST_POSITION_Y, 466,
-                                466);
+                                300);
   TraingRecordList->SetScrollStateListener(this);
   TraingRecordList->SetThrowDrag(true);
   TraingRecordList->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
@@ -215,6 +215,8 @@ void TraingRecordView::ShowRecordView() {
   TraingRecordList->SetSwipeACCLevel(200);
   // 设置拖动加速
   TraingRecordList->SetDragACCLevel(5);
+  TraingRecordList->RequestFocus();
+  TraingRecordList->SetRotateFactor(2);
   TraingRecordList->SetYScrollBarVisible(true);
   recordView->SetVisible(false); // 隐藏界面
   TraingRecordList->SetOnClickListener(static_cast<UIView::OnClickListener *>(
@@ -246,7 +248,6 @@ void TraingRecordView::SetPopupViewStatus(PopupRecord view, bool status) {
 }
 // 获取目前的view
 void TraingRecordView::OnStart() {
-  View<TraingRecordPresenter>::OnStart();
 
   scrollview = new UIScrollView();
   if (scrollview == nullptr) {
@@ -295,5 +296,10 @@ void TraingRecordView::RefreshTraingRecordList(const TraingRecordItem *itemInfo)
   TraingRecordList->SetAdapter(p_TraingRecordAdapter);
   TraingRecordList->RefreshList();
 }
+UIList *TraingRecordView::GetTraingRecordList()
+{
+    return TraingRecordList;
+}
+
 
 } // namespace OHOS