static constexpr int16_t MAX_SCROLL_DIS = 1000;
static constexpr int16_t MAX_REBOUND_SIZE = 40;
static constexpr int16_t MAX_LANGUAGE_LIST_SCROLLBLANKSIZE = 50;
- static constexpr int16_t ROTATEFACTORVALUE = 4;
-
+ static constexpr int16_t ROTATEFACTORVALUE = 1.0;
+
static LanguageSwitchView *g_pLanguageSwitchView{nullptr};
LanguageSwitchView::LanguageSwitchView()
{
void LanguageSwitchView::ClearAll(void)
{
- if (LanguageSwitchScrollView != nullptr)
+ if (container_ != nullptr)
{
- LanguageSwitchScrollView->RemoveAll();
-
- delete LanguageSwitchViewTitleLabel;
- LanguageSwitchViewTitleLabel = nullptr;
-
- delete p_LanguageSwitchListAdapter;
- p_LanguageSwitchListAdapter = nullptr;
-
- delete LanguageList;
- LanguageList = nullptr;
-
- delete LanguageSwitchScrollView;
- LanguageSwitchScrollView = nullptr;
-
- if(group)
+ container_->RemoveAll();
+ if (LanguageSwitchScrollView != nullptr)
+ {
+ LanguageSwitchScrollView->RemoveAll();
+ if (LanguageSwitchViewTitleLabel)
+ {
+ delete LanguageSwitchViewTitleLabel;
+ LanguageSwitchViewTitleLabel = nullptr;
+ }
+ if (p_LanguageSwitchListAdapter)
+ {
+ delete p_LanguageSwitchListAdapter;
+ p_LanguageSwitchListAdapter = nullptr;
+ }
+ if (LanguageList)
+ {
+ delete LanguageList;
+ LanguageList = nullptr;
+ }
+ delete LanguageSwitchScrollView;
+ LanguageSwitchScrollView = nullptr;
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "LanguageSwitchView::ClearAll LanguageSwitchScrollView over!!");
+ }
+ if (group != nullptr)
{
group->RemoveAll();
-
- delete button_cancel;
- button_cancel = nullptr;
-
- delete button_ensure;
- button_ensure = nullptr;
-
- delete LanguageSwitchViewhintLabel;
- LanguageSwitchViewhintLabel = nullptr;
+ if (button_cancel)
+ {
+ delete button_cancel;
+ button_cancel = nullptr;
+ }
+ if (button_ensure)
+ {
+ delete button_ensure;
+ button_ensure = nullptr;
+ }
+ if (LanguageSwitchViewhintLabel)
+ {
+ delete LanguageSwitchViewhintLabel;
+ LanguageSwitchViewhintLabel = nullptr;
+ }
+ delete group;
+ group = nullptr;
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "LanguageSwitchView::ClearAll group over!!");
}
+ delete container_;
+ container_ = nullptr;
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "LanguageSwitchView::ClearAll over!!");
}
}
return false;
}
LanguageSwitchScrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
- LanguageSwitchScrollView->SetScrollBlankSize(MAX_LANGUAGE_LIST_SCROLLBLANKSIZE);
+ // LanguageSwitchScrollView->SetScrollBlankSize(MAX_LANGUAGE_LIST_SCROLLBLANKSIZE);
LanguageSwitchScrollView->SetHorizontalScrollState(false);
LanguageSwitchScrollView->SetTouchable(true);
LanguageSwitchScrollView->SetDraggable(true);
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "LanguageSwitchView::LanguageList is nullptr!");
return false;
}
- LanguageList->SetPosition(LANGUAGE_LIST_X, LANGUAGE_LIST_Y, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
+ LanguageList->SetPosition(LANGUAGE_LIST_X, LANGUAGE_LIST_Y, HORIZONTAL_RESOLUTION, 346);
LanguageList->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000);
- LanguageList->SetScrollBlankSize(MAX_LANGUAGE_LIST_SCROLLBLANKSIZE);
- LanguageList->EnableAutoAlign(true); // 设置此列表的自动对齐状态。当滚动停止时,子视图被选中,其位置自动与预设位置对齐
- LanguageList->SetThrowDrag(true); // 设置手指抬起屏幕后是否继续滚动。
- LanguageList->SetMaxScrollDistance(MAX_SCROLL_DIS); // 设置手指抬起屏幕后的最大滚动距离。
- LanguageList->SetReboundSize(MAX_REBOUND_SIZE);
- LanguageList->SetRotateFactor(ROTATEFACTORVALUE);
+ LanguageList->EnableAutoAlign(true); // 设置此列表的自动对齐状态。当滚动停止时,子视图被选中,其位置自动与预设位置对齐
+ LanguageList->SetThrowDrag(true); // 设置手指抬起屏幕后是否继续滚动。
+ LanguageList->SetMaxScrollDistance(1000); // 设置手指抬起屏幕后的最大滚动距离。
+ LanguageList->SetSwipeACCLevel(800); /*设置手指抬起屏幕后的补偿距离。*/
+ LanguageList->SetReboundSize(30);
+ LanguageList->SetScrollBlankSize(20);
+ LanguageList->SetStartIndex(0);
FocusManager::GetInstance()->RequestFocus(LanguageList);
+ FocusManager::GetInstance()->RequestFocusByDirection(FOCUS_DIRECTION_UP);
+ LanguageList->SetRotateFactor(1.0);
return true;
}
}
}
- void LanguageSwitchView::show_hint_group(std::string code,bool data)
+ void LanguageSwitchView::show_hint_group(std::string code, bool data)
{
group->SetVisible(data);
RootView::GetInstance()->Invalidate();
- if(data)
+ if (data)
{
- hint_id_code=code;
+ hint_id_code = code;
}
return;
}
return button_cancel;
}
-
UIButton *LanguageSwitchView::GetLanguagebutton_ensure(void)
{
return button_ensure;
}
- //Take effect after restart
+ // Take effect after restart
void LanguageSwitchView::InithintView()
{
-
group = new UIViewGroup();
- if(group==nullptr)
+ if (group == nullptr)
{
return;
}
group->SetDraggable(true);
group->SetOnDragListener(presenter_);
-
- if (LanguageSwitchViewhintLabel == nullptr) {
- LanguageSwitchViewhintLabel = new UILabel();
+ if (LanguageSwitchViewhintLabel == nullptr)
+ {
+ LanguageSwitchViewhintLabel = new UILabel();
}
- LanguageSwitchViewhintLabel->SetPosition(47, 194); // widget's left position and top position
- LanguageSwitchViewhintLabel->Resize(370, 60); // widget's width and height
- LanguageSwitchViewhintLabel->SetViewId("label1");// Set style
+ LanguageSwitchViewhintLabel->SetPosition(47, 194); // widget's left position and top position
+ LanguageSwitchViewhintLabel->Resize(370, 60); // widget's width and height
+ LanguageSwitchViewhintLabel->SetViewId("label1"); // Set style
LanguageSwitchViewhintLabel->SetStyle(STYLE_TEXT_FONT, 30);
LanguageSwitchViewhintLabel->SetText("Take effect after restart");
group->Add(LanguageSwitchViewhintLabel);
LanguageSwitchViewhintLabel->SetVisible(true);
-
-
button_cancel = new UIButton();
if (button_cancel == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemShutdown::new button_cancel fail!");
- return ;
+ return;
}
button_cancel->SetPosition(97, 299, 130, 130);
button_cancel->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);
if (button_ensure == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemShutdown::new button_ensure fail!");
- return ;
+ return;
}
button_ensure->SetPosition(240, 299, 130, 130);
button_ensure->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);
button_cancel->SetOnClickListener(presenter_);
button_ensure->SetOnClickListener(presenter_);
group->SetVisible(false);
-
}
-
void LanguageSwitchView::OnStart()
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "LanguageSwitchView::OnStart");
View<LanguageSwitchPresenter>::OnStart();
SetContainerView(new UIViewGroup());
+ if (GetContainer() == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SetContainerView fail!!");
+ return;
+ }
container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
container_->SetTouchable(true);
container_->SetDraggable(true);
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "LanguageSwitchView::OnStop");
View<LanguageSwitchPresenter>::OnStop();
- if (container_ != nullptr)
- {
- container_->RemoveAll();
- delete container_;
- container_ = nullptr;
- }
RootView::GetInstance()->ClearOnKeyActListener();
FocusManager::GetInstance()->ClearFocus();
ClearAll();
delete Title;\r
Title = nullptr;\r
}\r
- for (int i = 0; i < 5; i++)\r
+ for (int i = 0; i < sizeof(SystemViewLabelButton) / sizeof(SystemViewLabelButton[0]); i++)\r
{\r
if (SystemViewLabelButton[i] != nullptr)\r
{\r
delete NeedToUpdateImage;\r
NeedToUpdateImage = nullptr;\r
}\r
+ if (temp != nullptr)\r
+ {\r
+ delete temp;\r
+ temp = nullptr;\r
+ }\r
delete SystemScrollView[SYSTEMVIEW];\r
SystemScrollView[SYSTEMVIEW] = nullptr;\r
}\r
\r
bool SystemView::CreateSystemViewLabel(void)\r
{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::CreateSystemViewLabel");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::CreateSystemViewLabel");\r
LabelConfig labelConfig = {\r
.left = 83,\r
.top = 50,\r
\r
bool SystemView::CreateSystemViewLabelButton(void)\r
{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::CreateSystemViewLabelButton");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::CreateSystemViewLabelButton");\r
struct ButtonSetup\r
{\r
int y;\r
\r
bool SystemView::CreateSystemScrollView(void)\r
{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::CreateSystemScrollView");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::CreateSystemScrollView");\r
SystemScrollView[SYSTEMVIEW] = new UIScrollView();\r
if (SystemScrollView[SYSTEMVIEW] == nullptr)\r
{\r
}\r
SystemScrollView[SYSTEMVIEW]->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
SystemScrollView[SYSTEMVIEW]->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
- SystemScrollView[SYSTEMVIEW]->SetScrollBlankSize(75);\r
- SystemScrollView[SYSTEMVIEW]->SetReboundSize(35);\r
+ SystemScrollView[SYSTEMVIEW]->SetScrollBlankSize(30);\r
+ SystemScrollView[SYSTEMVIEW]->SetReboundSize(30);\r
SystemScrollView[SYSTEMVIEW]->SetDirection(1);\r
SystemScrollView[SYSTEMVIEW]->SetThrowDrag(true); // 设置手指抬起屏幕后是否继续滚动。\r
SystemScrollView[SYSTEMVIEW]->SetMaxScrollDistance(1000); // 设置手指抬起屏幕后的最大滚动距离。\r
- SystemScrollView[SYSTEMVIEW]->RequestFocus();\r
+ SystemScrollView[SYSTEMVIEW]->SetSwipeACCLevel(800); /*设置手指抬起屏幕后的补偿距离。*/\r
+ FocusManager::GetInstance()->RequestFocus(SystemScrollView[SYSTEMVIEW]);\r
+ FocusManager::GetInstance()->RequestFocusByDirection(FOCUS_DIRECTION_UP);\r
SystemScrollView[SYSTEMVIEW]->SetRotateFactor(1.0);\r
SystemScrollView[SYSTEMVIEW]->SetOnDragListener(presenter_);\r
SystemScrollView[SYSTEMVIEW]->SetTouchable(true);\r
\r
void SystemView::CreateSystemView(void)\r
{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::CreateSystemView");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::CreateSystemView");\r
if (!CreateSystemScrollView() || !CreateSystemViewLabelButton() || !CreateSystemViewLabel())\r
{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::CreateSystemView");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::CreateSystemView fail!!");\r
return;\r
}\r
+ if (temp == nullptr)\r
+ {\r
+ temp = new UIImageView();\r
+ if (temp == nullptr)\r
+ {\r
+ return;\r
+ }\r
+ temp->SetPosition(43, 960, 380, 40);\r
+ SystemScrollView[SYSTEMVIEW]->Add(temp);\r
+ }\r
viewInitStatus = true;\r
}\r
\r