namespace OHOS
{
-
// Paths for different icons in the Training folder
#define ICON36 "/user/res/Training/icon_36x36"
#define ICON60 "/user/res/Training/icon_60x60"
#define ICON54 "user/res/Training/icon_54x79"
#define MODULES "/user/res/Training/modules"
#define TRAINING_GIF "/user/res/Training/training_GIF"
-
+ static constexpr int16_t MAX_SCROLL_DIS = 1000;
+ static constexpr int16 ROTATE_FACTOR_2 = 2;
// Icons in the icon_36x36 folder
static constexpr const char *BALL_IMAGE = ICON36 "/Ball.bin";
static constexpr const char *DANCE_IMAGE = ICON36 "/Dance.bin";
{
if (scrollView == nullptr)
{
- scrollView = new UIScrollView();
+ scrollView = new UIScrollView();
+ if (scrollView == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "scrollView new fail!");
+ return;
+ }
+ scrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
+ scrollView->SetScrollBlankSize(50);
+ // scrollView->SetReboundSize(35);
+ scrollView->SetHorizontalScrollState(false);
+ scrollView->RequestFocus();
+ scrollView->SetRotateFactor(1.0);
+ scrollView->SetMaxScrollDistance(1000);
+ scrollView->SetDragACCLevel(5);
+ scrollView->SetSwipeACCLevel(800); /*设置手指抬起屏幕后的补偿距离。*/
+ scrollView->SetTouchable(true);
+ scrollView->SetDraggable(true);
+ container_->Add(scrollView);
}
- scrollView->SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
- // scrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
- // scrollView->SetScrollBlankSize(52);
- scrollView->SetReboundSize(50);
- scrollView->SetTouchable(true);
- scrollView->SetDraggable(true);
- scrollView->SetDirection(1);
- draglistener = static_cast<UIView::OnDragListener *>(TraingAquaticPresenter::GetInstance());
- scrollView->SetOnDragListener(draglistener);
-
/* -------------------------------------------------------------------------- */
- // 初始化Lable
- InitLabelExt(title, 135, 52, 200, 60, "label1", STR_WATER_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);
- title->SetStyle(STYLE_TEXT_COLOR, Color::Green().full);
- scrollView->Add(title);
+ // 初始化Lable 暂时不添加
+ if (title == nullptr)
+ {
+ InitLabelExt(title, 135, 52, 200, 60, "label1", STR_WATER_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ title->SetStyle(STYLE_TEXT_COLOR, Color::Green().full);
+ scrollView->Add(title);
+ }
// UIList 的适配器
- p_TraingAquaticListAdapter = new TraingAquaticAdapter();
- p_TraingAquaticListAdapter->SetItemClickListener(presenter_);
+ if (p_TraingAquaticListAdapter == nullptr)
+ {
+ p_TraingAquaticListAdapter = new TraingAquaticAdapter();
+ p_TraingAquaticListAdapter->SetItemClickListener(presenter_);
+ }
+ // 初始化列表
if (TraingAquaticList == nullptr)
{
TraingAquaticList = new UIList();
+ TraingAquaticList->SetPosition(43, 120, 466, 466);
+ TraingAquaticList->SetThrowDrag(true);
+ TraingAquaticList->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
+ TraingAquaticList->SetMaxScrollDistance(1000);
+ TraingAquaticList->SetSwipeACCLevel(800);
+ TraingAquaticList->SetDragACCLevel(5);
+ // 增加表冠控制
+ TraingAquaticList->SetRotateFactor(2);
+ TraingAquaticList->RequestFocus();
}
- TraingAquaticList->SetPosition(Aquatic_LIST_POSITION_X, Aquatic_LIST_POSITION_Y);
- TraingAquaticList->Resize(HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
- TraingAquaticList->SetScrollBlankSize(Aquatic_SCROLLBLANKSIZE);
- TraingAquaticList->SetSelectPosition(HORIZONTAL_RESOLUTION / SNUM_2); // middle position
- TraingAquaticList->SetReboundSize(50);
- TraingAquaticList->SetDraggable(true);
- TraingAquaticList->SetThrowDrag(true);
- TraingAquaticList->EnableAutoAlign(true);
- TraingAquaticList->SetElastic(true); // 设置回弹效果
- TraingAquaticList->SetMaxScrollDistance(MAX_SCR_DIS);
- TraingAquaticList->SetYScrollBarVisible(true); // 设置滑动滚动条
-
- // 增加表冠控制
- TraingAquaticList->SetRotateFactor(2);
- TraingAquaticList->RequestFocus();
-
- SetKeyActListener();
}
UIList *TraingAquaticView::GetList()
{
{
View<TraingAquaticPresenter>::OnStart();
BaseView::RootView(Color::Black().full);
+ SetContainerView(new UIViewGroup());
+ container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
+ container_->SetOnDragListener(presenter_);
+ container_->SetTouchable(true);
+ container_->SetDraggable(true);
PreLoad();
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
}
/// @brief 创建页面的视图。
void TraingAquaticView::OnSetUpView()
{
View<TraingAquaticPresenter>::OnSetUpView();
- scrollView->Add(title);
- scrollView->Add(TraingAquaticList);
- scrollView->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
- RootView::GetInstance()->Add(scrollView);
- TraingAquaticList->SetAdapter(p_TraingAquaticListAdapter);
- // TraingAquaticList->RefreshList(); // 刷新列表
+ if (TraingAquaticList != nullptr && p_TraingAquaticListAdapter != nullptr)
+ {
+ scrollView->Add(TraingAquaticList);
+ scrollView->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
+ RootView::GetInstance()->Add(scrollView);
+ TraingAquaticList->SetAdapter(p_TraingAquaticListAdapter);
+ }
Draw();
}
void TraingAquaticView::OnStop()
{
View<TraingAquaticPresenter>::OnStop();
-
-
+ if (container_ != nullptr)
+ {
+ container_->RemoveAll();
+ delete container_;
+ container_ = nullptr;
+ }
RootView::GetInstance()->ClearOnKeyActListener();
- //FocusManager::GetInstance()->ClearFocus();
RootView::GetInstance()->RemoveAll();
- // RootView::GetInstance()->ClearFocus();
return;
}
}
\ No newline at end of file
if (scrollView == nullptr)
{
scrollView = new UIScrollView();
+ if (scrollView == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "scrollView new fail!");
+ return;
+ }
+ scrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
+ scrollView->SetScrollBlankSize(50);
+ // scrollView->SetReboundSize(35);
+ scrollView->SetHorizontalScrollState(false);
+ scrollView->RequestFocus();
+ scrollView->SetRotateFactor(1.0);
+ scrollView->SetMaxScrollDistance(1000);
+ scrollView->SetDragACCLevel(5);
+ scrollView->SetSwipeACCLevel(800); /*设置手指抬起屏幕后的补偿距离。*/
+ scrollView->SetTouchable(true);
+ scrollView->SetDraggable(true);
+ container_->Add(scrollView);
}
- scrollView->SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
- // scrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
- // scrollView->SetScrollBlankSize(52);
- scrollView->SetReboundSize(50);
- scrollView->SetTouchable(true);
- scrollView->SetDraggable(true);
- scrollView->SetDirection(1);
- draglistener = static_cast<UIView::OnDragListener *>(TraingBallPresenter::GetInstance());
- scrollView->SetOnDragListener(draglistener);
-
/* -------------------------------------------------------------------------- */
- // 初始化Lable
- InitLabelExt(title, 135, 52, 200, 60, "label1", STR_BALL_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);
- title->SetStyle(STYLE_TEXT_COLOR, Color::Green().full);
- scrollView->Add(title);
+ // 初始化Lable 暂时不添加
+ if (title == nullptr)
+ {
+ InitLabelExt(title, 135, 52, 200, 60, "label1", STR_BALL_LIST_TITLE, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ title->SetStyle(STYLE_TEXT_COLOR, Color::Green().full);
+ scrollView->Add(title);
+ }
// UIList 的适配器
- p_TraingBallListAdapter = new TraingBallAdapter();
- p_TraingBallListAdapter->SetItemClickListener(presenter_);
+ if (p_TraingBallListAdapter == nullptr)
+ {
+ p_TraingBallListAdapter = new TraingBallAdapter();
+ p_TraingBallListAdapter->SetItemClickListener(presenter_);
+ }
+ // 初始化列表
if (TraingBallList == nullptr)
{
TraingBallList = new UIList();
+ TraingBallList->SetPosition(43, 120, 466, 466);
+ TraingBallList->SetThrowDrag(true);
+ TraingBallList->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
+ TraingBallList->SetMaxScrollDistance(1000);
+ TraingBallList->SetSwipeACCLevel(800);
+ TraingBallList->SetDragACCLevel(5);
+ // 增加表冠控制
+ TraingBallList->SetRotateFactor(2);
+ TraingBallList->RequestFocus();
}
-#if 0
- TraingBallList->SetPosition(Ball_LIST_POSITION_X, Ball_LIST_POSITION_Y);
- TraingBallList->Resize(HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
- TraingBallList->SetScrollBlankSize(Ball_SCROLLBLANKSIZE);
- TraingBallList->SetSelectPosition(HORIZONTAL_RESOLUTION / SNUM_2); // middle position
- TraingBallList->SetReboundSize(50);
- TraingBallList->SetDraggable(true);
- TraingBallList->SetThrowDrag(true);
- TraingBallList->EnableAutoAlign(true);
- TraingBallList->SetElastic(true); // 设置回弹效果
- TraingBallList->SetMaxScrollDistance(MAX_SCR_DIS);
- TraingBallList->SetYScrollBarVisible(true); // 设置滑动滚动条
-#endif
-
- TraingBallList->SetPosition(Ball_LIST_POSITION_X, Ball_LIST_POSITION_Y, 466, 466);
- TraingBallList->SetThrowDrag(true);
- TraingBallList->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
- TraingBallList->SetMaxScrollDistance(1000);
- TraingBallList->SetSwipeACCLevel(800);
- TraingBallList->SetDragACCLevel(5);
-
- // 增加表冠控制
- TraingBallList->SetRotateFactor(2);
- TraingBallList->RequestFocus();
-
- SetKeyActListener();
}
UIList *TraingBallView::GetList()
{
{
View<TraingBallPresenter>::OnStart();
BaseView::RootView(Color::Black().full);
+ SetContainerView(new UIViewGroup());
+ container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
+ container_->SetOnDragListener(presenter_);
+ container_->SetTouchable(true);
+ container_->SetDraggable(true);
PreLoad();
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
}
/// @brief 创建页面的视图。
void TraingBallView::OnSetUpView()
{
View<TraingBallPresenter>::OnSetUpView();
- scrollView->Add(title);
- scrollView->Add(TraingBallList);
- scrollView->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
- RootView::GetInstance()->Add(scrollView);
- TraingBallList->SetAdapter(p_TraingBallListAdapter);
- // TraingBallList->RefreshList(); // 刷新列表
+ if (TraingBallList != nullptr && p_TraingBallListAdapter != nullptr)
+ {
+ scrollView->Add(TraingBallList);
+ scrollView->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
+ RootView::GetInstance()->Add(scrollView);
+ TraingBallList->SetAdapter(p_TraingBallListAdapter);
+ }
Draw();
}
{
View<TraingBallPresenter>::OnStop();
+ if (container_ != nullptr)
+ {
+ container_->RemoveAll();
+ delete container_;
+ container_ = nullptr;
+ }
RootView::GetInstance()->ClearOnKeyActListener();
- // FocusManager::GetInstance()->ClearFocus();
RootView::GetInstance()->RemoveAll();
- // RootView::GetInstance()->ClearFocus();
return;
}
}
\ No newline at end of file
if (scrollView == nullptr)
{
scrollView = new UIScrollView();
+ if (scrollView == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "scrollView new fail!");
+ return;
+ }
+ scrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
+ scrollView->SetScrollBlankSize(50);
+ // scrollView->SetReboundSize(35);
+ scrollView->SetHorizontalScrollState(false);
+ scrollView->RequestFocus();
+ scrollView->SetRotateFactor(1.0);
+ scrollView->SetMaxScrollDistance(1000);
+ scrollView->SetDragACCLevel(5);
+ scrollView->SetSwipeACCLevel(800); /*设置手指抬起屏幕后的补偿距离。*/
+ scrollView->SetTouchable(true);
+ scrollView->SetDraggable(true);
+ container_->Add(scrollView);
}
- scrollView->SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
- // scrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
- // scrollView->SetScrollBlankSize(52);
- scrollView->SetReboundSize(50);
- scrollView->SetTouchable(true);
- scrollView->SetDraggable(true);
- scrollView->SetDirection(1);
- draglistener = static_cast<UIView::OnDragListener *>(TraingDancePresenter::GetInstance());
- scrollView->SetOnDragListener(draglistener);
-
/* -------------------------------------------------------------------------- */
- // 初始化Lable
- InitLabelExt(title, 135, 52, 200, 60, "label1", STR_DANCING_TITLE, DEFAULT_VECTOR_FONT_FILENAME, 30);
- title->SetStyle(STYLE_TEXT_COLOR, Color::Green().full);
- scrollView->Add(title);
+ // 初始化Lable 暂时不添加
+ if (title == nullptr)
+ {
+ InitLabelExt(title, 135, 52, 200, 60, "label1", STR_DANCING_TITLE, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ title->SetStyle(STYLE_TEXT_COLOR, Color::Green().full);
+ scrollView->Add(title);
+
+ title->SetStyle(STYLE_TEXT_COLOR, Color::Green().full);
+ scrollView->Add(title);
+ }
// UIList 的适配器
- p_TraingDanceListAdapter = new TraingDanceAdapter();
- p_TraingDanceListAdapter->SetItemClickListener(presenter_);
+ if (p_TraingDanceListAdapter == nullptr)
+ {
+ p_TraingDanceListAdapter = new TraingDanceAdapter();
+ p_TraingDanceListAdapter->SetItemClickListener(presenter_);
+ }
+ // 初始化列表
if (TraingDanceList == nullptr)
{
TraingDanceList = new UIList();
+ TraingDanceList->SetPosition(43, 120, 466, 466);
+ TraingDanceList->SetThrowDrag(true);
+ TraingDanceList->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
+ TraingDanceList->SetMaxScrollDistance(1000);
+ TraingDanceList->SetSwipeACCLevel(800);
+ TraingDanceList->SetDragACCLevel(5);
+ // 增加表冠控制
+ TraingDanceList->SetRotateFactor(2);
+ TraingDanceList->RequestFocus();
}
-#if 0
- TraingDanceList->SetPosition(Dance_LIST_POSITION_X, Dance_LIST_POSITION_Y);
- TraingDanceList->Resize(HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
- TraingDanceList->SetScrollBlankSize(Dance_SCROLLBLANKSIZE);
- TraingDanceList->SetSelectPosition(HORIZONTAL_RESOLUTION / SNUM_2); // middle position
- TraingDanceList->SetReboundSize(50);
- TraingDanceList->SetDraggable(true);
- TraingDanceList->SetThrowDrag(true);
- TraingDanceList->EnableAutoAlign(true);
- TraingDanceList->SetElastic(true); // 设置回弹效果
- TraingDanceList->SetMaxScrollDistance(MAX_SCR_DIS);
- TraingDanceList->SetYScrollBarVisible(true); // 设置滑动滚动条
-#endif
-
- TraingDanceList->SetPosition(Dance_LIST_POSITION_X, Dance_LIST_POSITION_Y, 466, 466);
- TraingDanceList->SetThrowDrag(true);
- TraingDanceList->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
- TraingDanceList->SetMaxScrollDistance(1000);
- TraingDanceList->SetSwipeACCLevel(800);
- TraingDanceList->SetDragACCLevel(5);
-
- // 增加表冠控制
- TraingDanceList->SetRotateFactor(2);
- TraingDanceList->RequestFocus();
-
- SetKeyActListener();
}
UIList *TraingDanceView::GetList()
{
{
View<TraingDancePresenter>::OnStart();
BaseView::RootView(Color::Black().full);
+ SetContainerView(new UIViewGroup());
+ container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
+ container_->SetOnDragListener(presenter_);
+ container_->SetTouchable(true);
+ container_->SetDraggable(true);
PreLoad();
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
}
/// @brief 创建页面的视图。
void TraingDanceView::OnSetUpView()
{
View<TraingDancePresenter>::OnSetUpView();
- // scrollView->Add(title);
- scrollView->Add(TraingDanceList);
- scrollView->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
- RootView::GetInstance()->Add(scrollView);
- TraingDanceList->SetAdapter(p_TraingDanceListAdapter);
- // TraingDanceList->RefreshList(); // 刷新列表
+ if (TraingDanceList != nullptr && p_TraingDanceListAdapter != nullptr)
+ {
+ scrollView->Add(TraingDanceList);
+ scrollView->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
+ RootView::GetInstance()->Add(scrollView);
+ TraingDanceList->SetAdapter(p_TraingDanceListAdapter);
+ }
Draw();
}
{
View<TraingDancePresenter>::OnStop();
+ if (container_ != nullptr)
+ {
+ container_->RemoveAll();
+ delete container_;
+ container_ = nullptr;
+ }
RootView::GetInstance()->ClearOnKeyActListener();
- // FocusManager::GetInstance()->ClearFocus();
RootView::GetInstance()->RemoveAll();
- // RootView::GetInstance()->ClearFocus();
return;
}
}
\ No newline at end of file
{
if (scrollView == nullptr)
{
- scrollView = new UIScrollView();
+ scrollView = new UIScrollView();
+ if (scrollView == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "scrollView new fail!");
+ return;
+ }
+ scrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
+ scrollView->SetScrollBlankSize(50);
+ // scrollView->SetReboundSize(35);
+ scrollView->SetHorizontalScrollState(false);
+ scrollView->RequestFocus();
+ scrollView->SetRotateFactor(1.0);
+ scrollView->SetMaxScrollDistance(1000);
+ scrollView->SetDragACCLevel(5);
+ scrollView->SetSwipeACCLevel(800); /*设置手指抬起屏幕后的补偿距离。*/
+ scrollView->SetTouchable(true);
+ scrollView->SetDraggable(true);
+ container_->Add(scrollView);
}
- scrollView->SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
- // scrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
- // scrollView->SetScrollBlankSize(52);
- scrollView->SetReboundSize(50);
- scrollView->SetTouchable(true);
- scrollView->SetDraggable(true);
- scrollView->SetDirection(1);
- draglistener = static_cast<UIView::OnDragListener *>(TraingFitnessPresenter::GetInstance());
- scrollView->SetOnDragListener(draglistener);
-
/* -------------------------------------------------------------------------- */
- // 初始化Lable
- InitLabelExt(title, 135, 52, 200, 60, "label1", STR_EXERCISE_TITLE, DEFAULT_VECTOR_FONT_FILENAME, 30);
- title->SetStyle(STYLE_TEXT_COLOR, Color::Green().full);
- scrollView->Add(title);
+ // 初始化Lable 暂时不添加
+ if (title == nullptr)
+ {
+ InitLabelExt(title, 135, 52, 200, 60, "label1", STR_EXERCISE_TITLE, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ title->SetStyle(STYLE_TEXT_COLOR, Color::Green().full);
+ scrollView->Add(title);
+ }
// UIList 的适配器
- p_TraingFitnessListAdapter = new TraingFitnessAdapter();
- p_TraingFitnessListAdapter->SetItemClickListener(presenter_);
+ if (p_TraingFitnessListAdapter == nullptr)
+ {
+ p_TraingFitnessListAdapter = new TraingFitnessAdapter();
+ p_TraingFitnessListAdapter->SetItemClickListener(presenter_);
+ }
+ // 初始化列表
if (TraingFitnessList == nullptr)
{
TraingFitnessList = new UIList();
+ TraingFitnessList->SetPosition(43, 120, 466, 466);
+ TraingFitnessList->SetThrowDrag(true);
+ TraingFitnessList->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
+ TraingFitnessList->SetMaxScrollDistance(1000);
+ TraingFitnessList->SetSwipeACCLevel(800);
+ TraingFitnessList->SetDragACCLevel(5);
+ // 增加表冠控制
+ TraingFitnessList->SetRotateFactor(2);
+ TraingFitnessList->RequestFocus();
}
-#if 0
- TraingFitnessList->SetPosition(Fitness_LIST_POSITION_X, Fitness_LIST_POSITION_Y);
- TraingFitnessList->Resize(HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
- TraingFitnessList->SetScrollBlankSize(Fitness_SCROLLBLANKSIZE);
- TraingFitnessList->SetSelectPosition(HORIZONTAL_RESOLUTION / SNUM_2); // middle position
- TraingFitnessList->SetReboundSize(50);
- TraingFitnessList->SetDraggable(true);
- TraingFitnessList->SetThrowDrag(true);
- TraingFitnessList->EnableAutoAlign(true);
- TraingFitnessList->SetElastic(true); // 设置回弹效果
- TraingFitnessList->SetMaxScrollDistance(MAX_SCR_DIS);
- TraingFitnessList->SetYScrollBarVisible(true); // 设置滑动滚动条
-#endif
-
- TraingFitnessList->SetPosition(Fitness_LIST_POSITION_X, Fitness_LIST_POSITION_Y, 466, 466);
- TraingFitnessList->SetThrowDrag(true);
- TraingFitnessList->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
- TraingFitnessList->SetMaxScrollDistance(1000);
- TraingFitnessList->SetSwipeACCLevel(800);
- TraingFitnessList->SetDragACCLevel(5);
-
- // 增加表冠控制
- TraingFitnessList->SetRotateFactor(2);
- TraingFitnessList->RequestFocus();
-
- SetKeyActListener();
}
UIList *TraingFitnessView::GetList()
{
{
View<TraingFitnessPresenter>::OnStart();
BaseView::RootView(Color::Black().full);
+ SetContainerView(new UIViewGroup());
+ container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
+ container_->SetOnDragListener(presenter_);
+ container_->SetTouchable(true);
+ container_->SetDraggable(true);
PreLoad();
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);
}
/// @brief 创建页面的视图。
void TraingFitnessView::OnSetUpView()
{
View<TraingFitnessPresenter>::OnSetUpView();
- // scrollView->Add(title);
- scrollView->Add(TraingFitnessList);
- scrollView->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
- RootView::GetInstance()->Add(scrollView);
- TraingFitnessList->SetAdapter(p_TraingFitnessListAdapter);
- // TraingFitnessList->RefreshList(); // 刷新列表
+ if (TraingFitnessList != nullptr && p_TraingFitnessListAdapter != nullptr)
+ {
+ scrollView->Add(TraingFitnessList);
+ scrollView->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
+ RootView::GetInstance()->Add(scrollView);
+ TraingFitnessList->SetAdapter(p_TraingFitnessListAdapter);
+ }
Draw();
}
void TraingFitnessView::OnStop()
{
View<TraingFitnessPresenter>::OnStop();
-
+ if (container_ != nullptr)
+ {
+ container_->RemoveAll();
+ delete container_;
+ container_ = nullptr;
+ }
RootView::GetInstance()->ClearOnKeyActListener();
- // FocusManager::GetInstance()->ClearFocus();
RootView::GetInstance()->RemoveAll();
- // RootView::GetInstance()->ClearFocus();
return;
}
}
\ No newline at end of file
}\r
void TraingMoreView::InitView()\r
{\r
+ // 初始化 UIScrollView\r
if (scrollView == nullptr)\r
{\r
scrollView = new UIScrollView();\r
}\r
- scrollView->SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
- // scrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
- // scrollView->SetScrollBlankSize(52);\r
- scrollView->SetReboundSize(50);\r
+\r
+ // 设置 UIScrollView 属性\r
+ scrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
scrollView->SetTouchable(true);\r
scrollView->SetDraggable(true);\r
scrollView->SetDirection(1);\r
- draglistener = static_cast<UIView::OnDragListener *>(TraingMorePresenter::GetInstance());\r
- scrollView->SetOnDragListener(draglistener);\r
+ // scrollView->SetReboundSize(50); // 设置空白大小\r
+ scrollView->SetScrollBlankSize(75);\r
+ scrollView->SetHorizontalScrollState(false); // 设置横向不可滑动\r
+\r
+ // 设置拖动监听器\r
+ scrollView->SetOnDragListener(presenter_);\r
\r
- /* -------------------------------------------------------------------------- */\r
- // 初始化Lable\r
+ // 初始化 label\r
InitLabelExt(title, 125, 52, 200, 60, "label1", STR_TRAINING, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
scrollView->Add(title);\r
- // UIList 的适配器\r
+\r
+ // 初始化适配器\r
p_TraingMoreListAdapter = new TraingMoreAdapter();\r
p_TraingMoreListAdapter->SetItemClickListener(presenter_);\r
+\r
+ // 初始化 UIList\r
if (TraingMoreList == nullptr)\r
{\r
TraingMoreList = new UIList();\r
}\r
\r
- // TraingMoreList->SetScrollBlankSize(More_SCROLLBLANKSIZE);\r
- // TraingMoreList->SetReboundSize(50);\r
- // TraingMoreList->SetSelectPosition(HORIZONTAL_RESOLUTION / SNUM_2); // middle position\r
- // TraingMoreList->SetDraggable(true);\r
- // TraingMoreList->SetThrowDrag(true);\r
- // TraingMoreList->EnableAutoAlign(true);\r
- // TraingMoreList->SetElastic(true); // 设置回弹效果\r
- // TraingMoreList->SetMaxScrollDistance(MAX_SCR_DIS);\r
-\r
TraingMoreList->SetPosition(More_LIST_POSITION_X, More_LIST_POSITION_Y, 466, 466);\r
TraingMoreList->SetThrowDrag(true);\r
TraingMoreList->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);\r
TraingMoreList->SetSwipeACCLevel(800);\r
TraingMoreList->SetDragACCLevel(5);\r
\r
- scrollView->SetYScrollBarVisible(true); // 设置滑动滚动条\r
+ // 设置滚动条可见性\r
+ scrollView->SetYScrollBarVisible(true);\r
\r
// 增加表冠控制\r
TraingMoreList->SetRotateFactor(2);\r
TraingMoreList->RequestFocus();\r
\r
+ // 设置键盘事件监听\r
SetKeyActListener();\r
}\r
UIList *TraingMoreView::GetList()\r
scrollView->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);\r
RootView::GetInstance()->Add(scrollView);\r
TraingMoreList->SetAdapter(p_TraingMoreListAdapter);\r
- TraingMoreList->SetIntercept(true);\r
+ // TraingMoreList->SetIntercept(true);\r
// TraingMoreList->RefreshList(); // 刷新列表\r
Draw();\r
}\r