* @Author: luozheng 1732036298@qq.com
* @Date: 2024-03-27 19:48:49
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-09-18 10:12:06
+ * @LastEditTime: 2024-09-20 15:44:27
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingItemView.cpp
*/
SettingItemView::SettingItemView()
{
- SetPosition(0, 120, 380, 120);
+ SetPosition(43, 120, 380, 120);
SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
SetStyle(STYLE_BACKGROUND_OPA, UN_OPACITY);
SetTouchable(true);
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-07-12 09:55:29
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-09-18 10:49:14
+ * @LastEditTime: 2024-09-20 16:04:46
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingView.cpp
*/
scrollView->SetPosition(0, 0, 466, 466);
scrollView->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
scrollView->SetStyle(STYLE_BACKGROUND_OPA, UN_OPACITY);
- scrollView->SetScrollBlankSize(SETTING_SCROLLBLANKSIZE);
scrollView->SetHorizontalScrollState(false);
scrollView->SetTouchable(true);
scrollView->SetThrowDrag(true);
- scrollView->SetOnDragListener(presenter_);
/* -------------------------------------------------------------------------- */
title = new UILabelExt();
if (title == nullptr)
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingView::OnStart::contentList is nullptr");
return;
}
- contentList->SetPosition(SETTING_LIST_POSITION_X, SETTING_LIST_POSITION_Y, 380, 360);
+ contentList->SetPosition(SETTING_LIST_POSITION_X, SETTING_LIST_POSITION_Y, HORIZONTAL_RESOLUTION, 346);
contentList->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000);
+ contentList->EnableAutoAlign(true); // 设置此列表的自动对齐状态。当滚动停止时,子视图被选中,其位置自动与预设位置对齐
+ contentList->SetThrowDrag(true); // 设置手指抬起屏幕后是否继续滚动。
+ contentList->SetMaxScrollDistance(1000); // 设置手指抬起屏幕后的最大滚动距离。
+ contentList->SetSwipeACCLevel(800); /*设置手指抬起屏幕后的补偿距离。*/
+ contentList->SetReboundSize(30);
contentList->SetScrollBlankSize(30);
- contentList->SetDraggable(true);
- contentList->SetThrowDrag(true);
- contentList->EnableAutoAlign(true);
- contentList->SetReboundSize(REBOUNDSIZE);
- contentList->SetMaxScrollDistance(MAX_SCR_DIS);
- contentList->SetSwipeACCLevel(800); /*设置手指抬起屏幕后的补偿距离。*/
- contentList->RequestFocus();
+ FocusManager::GetInstance()->RequestFocus(contentList);
+ FocusManager::GetInstance()->RequestFocusByDirection(FOCUS_DIRECTION_UP);
contentList->SetRotateFactor(1.0);
+ contentList->SetOnDragListener(presenter_);
/* ----------------------------------- Add ---------------------------------- */
scrollView->Add(title);
scrollView->Add(contentList);
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-04-19 21:03:26\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-07-24 17:33:52\r
+ * @LastEditTime: 2024-09-20 15:01:12\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/include/SoundAndVibrationView.h\r
*/\r
#ifndef SOUND_AND_VIBRATION_VIEW_H\r
UILabelExt *SilentModeLabel{nullptr}; // 静音模式标签\r
UIToggleButton *SilentModeToggleButton{nullptr}; // 静音模式切换按钮\r
bool initViewStatus{false};\r
+ UIImageView *temp{nullptr};\r
};\r
} // namespace OHOS\r
\r
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-02-19 10:39:14\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-07-24 17:48:13\r
+ * @LastEditTime: 2024-09-20 15:12:30\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationView.cpp\r
*/\r
#include "soundandvibration/include/SoundAndVibrationView.h"\r
delete SilentModeLabel;\r
SilentModeLabel = nullptr;\r
\r
+ delete temp;\r
+ temp = nullptr;\r
+\r
delete SoundAndVibrationScrollView[SOUNDANDVIBRATIONVIEW];\r
SoundAndVibrationScrollView[SOUNDANDVIBRATIONVIEW] = nullptr;\r
}\r
}\r
SoundAndVibrationScrollView[SOUNDANDVIBRATIONVIEW]->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
SoundAndVibrationScrollView[SOUNDANDVIBRATIONVIEW]->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
- SoundAndVibrationScrollView[SOUNDANDVIBRATIONVIEW]->SetScrollBlankSize(75);\r
- SoundAndVibrationScrollView[SOUNDANDVIBRATIONVIEW]->SetReboundSize(35);\r
- SoundAndVibrationScrollView[SOUNDANDVIBRATIONVIEW]->SetDirection(1);\r
- SoundAndVibrationScrollView[SOUNDANDVIBRATIONVIEW]->SetMaxScrollDistance(1000);\r
SoundAndVibrationScrollView[SOUNDANDVIBRATIONVIEW]->SetThrowDrag(true);\r
SoundAndVibrationScrollView[SOUNDANDVIBRATIONVIEW]->SetTouchable(true);\r
SoundAndVibrationScrollView[SOUNDANDVIBRATIONVIEW]->SetDraggable(true);\r
- SoundAndVibrationScrollView[SOUNDANDVIBRATIONVIEW]->RequestFocus();\r
- SoundAndVibrationScrollView[SOUNDANDVIBRATIONVIEW]->SetRotateFactor(2.0);\r
+ SoundAndVibrationScrollView[SOUNDANDVIBRATIONVIEW]->SetScrollBlankSize(30);\r
+ SoundAndVibrationScrollView[SOUNDANDVIBRATIONVIEW]->SetReboundSize(30);\r
+ SoundAndVibrationScrollView[SOUNDANDVIBRATIONVIEW]->SetDirection(1);\r
+ SoundAndVibrationScrollView[SOUNDANDVIBRATIONVIEW]->SetMaxScrollDistance(1000); // 设置手指抬起屏幕后的最大滚动距离。\r
+ SoundAndVibrationScrollView[SOUNDANDVIBRATIONVIEW]->SetSwipeACCLevel(800); /*设置手指抬起屏幕后的补偿距离。*/\r
+ FocusManager::GetInstance()->RequestFocus(SoundAndVibrationScrollView[SOUNDANDVIBRATIONVIEW]);\r
+ FocusManager::GetInstance()->RequestFocusByDirection(FOCUS_DIRECTION_UP);\r
+ SoundAndVibrationScrollView[SOUNDANDVIBRATIONVIEW]->SetRotateFactor(1.0);\r
container_->Add(SoundAndVibrationScrollView[SOUNDANDVIBRATIONVIEW]);\r
\r
return true;\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SoundAndVibrationView::CreateSoundAndVibrationView fail!!");\r
return;\r
}\r
+ /* ------------------- 该组件的使用是为了解决不能单独设置滚动视图底部空白大小问题,用一个不可见组件占位置 ------------------ */\r
+ /* ---------------------------- 因为使用SetScrollBlankSize设置大小后下拉后无法恢复到原位置,有向下偏移 --------------------------- */\r
+ if (temp == nullptr)\r
+ {\r
+ temp = new UIImageView();\r
+ if (temp == nullptr)\r
+ {\r
+ return;\r
+ }\r
+ temp->SetPosition(43, 480 + 120, 380, 40);\r
+ temp->SetVisible(false);\r
+ SoundAndVibrationScrollView[SOUNDANDVIBRATIONVIEW]->Add(temp);\r
+ }\r
initViewStatus = true;\r
}\r
\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SoundAndVibrationView::OnStop");\r
View<SoundAndVibrationPresenter>::OnStop();\r
RootView::GetInstance()->ClearOnKeyActListener();\r
+ FocusManager::GetInstance()->ClearFocus();\r
ClearAll();\r
return;\r
}\r
\r
void SystemView::ClearAll()\r
{\r
+ if (container_ != nullptr)\r
+ {\r
+ container_->RemoveAll();\r
+ delete container_;\r
+ container_ = nullptr;\r
+ }\r
+ \r
if (viewInitStatus)\r
{\r
if (SystemScrollView[SYSTEMVIEW] != nullptr)\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::CreateSystemView fail!!");\r
return;\r
}\r
+ /* ------------------- 该组件的使用是为了解决不能单独设置滚动视图底部空白大小问题,用一个不可见组件占位置 ------------------ */\r
+ /* ---------------------------- 因为使用SetScrollBlankSize设置过大后,下拉后无法恢复到原位置,有明显的向下偏移 --------------------------- */\r
if (temp == nullptr)\r
{\r
temp = new UIImageView();\r
return;\r
}\r
temp->SetPosition(43, 960, 380, 40);\r
+ temp->SetVisible(false);\r
SystemScrollView[SYSTEMVIEW]->Add(temp);\r
}\r
viewInitStatus = true;\r
{\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::OnStop");\r
View<SystemPresenter>::OnStop();\r
- if (container_ != nullptr)\r
- {\r
- container_->RemoveAll();\r
- delete container_;\r
- container_ = nullptr;\r
- }\r
RootView::GetInstance()->ClearOnKeyActListener();\r
+ FocusManager::GetInstance()->ClearFocus();\r
ClearAll();\r
return;\r
}\r
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-06-14 09:40:13
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-08-19 18:24:49
+ * @LastEditTime: 2024-09-20 15:31:42
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/themestyle/include/ThemeStyleView.h
*/
UIImageView *ThemeStyleImage[MAX_STYLE]{nullptr};
UILabelButtonExt *ExitLabelButton{nullptr};
UILabelExt *ExitLabel{nullptr};
+ UIImageView *temp{nullptr};
bool initViewStatus{false};
};
}
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-06-14 09:40:20
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-08-19 18:48:59
+ * @LastEditTime: 2024-09-20 15:36:31
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/themestyle/src/ThemeStyleView.cpp
*/
#include "themestyle/include/ThemeStyleView.h"
#include "themestyle/include/ThemeStylePresenter.h"
#include "ui_resource_string.h"
-
+#include "dock/focus_manager.h"
namespace OHOS
{
static ThemeStyleView *g_pThemeStyleView{nullptr};
void ThemeStyleView::ClearAll(void)
{
+ if (container_ != nullptr)
+ {
+ container_->RemoveAll();
+ delete container_;
+ container_ = nullptr;
+ }
+
if (initViewStatus)
{
if (scrollView != nullptr)
{
scrollView->RemoveAll();
-
- delete titleText;
- titleText = nullptr;
-
+ if (titleText)
+ {
+ delete titleText;
+ titleText = nullptr;
+ }
for (int i = 0; i < MAX_STYLE; i++)
{
delete ThemeStyleLabelButton[i];
delete ThemeStyleImage[i];
ThemeStyleImage[i] = nullptr;
}
-
- delete ExitLabelButton;
- ExitLabelButton = nullptr;
-
- delete ExitLabel;
- ExitLabel = nullptr;
-
+ if (ExitLabelButton)
+ {
+ delete ExitLabelButton;
+ ExitLabelButton = nullptr;
+ }
+ if (ExitLabel)
+ {
+ delete ExitLabel;
+ ExitLabel = nullptr;
+ }
+ if(temp)
+ {
+ delete temp;
+ temp = nullptr;
+ }
delete scrollView;
scrollView = nullptr;
}
return false;
}
scrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
- scrollView->SetScrollBlankSize(SCROLLBLANKSIZE);
- scrollView->SetReboundSize(REBOUNDSIZE);
- scrollView->SetHorizontalScrollState(false);
- scrollView->RequestFocus();
+ scrollView->SetScrollBlankSize(30);
+ scrollView->SetReboundSize(30);
+ scrollView->SetDirection(1);
+ scrollView->SetThrowDrag(true); // 设置手指抬起屏幕后是否继续滚动。
+ scrollView->SetMaxScrollDistance(1000); // 设置手指抬起屏幕后的最大滚动距离。
+ scrollView->SetSwipeACCLevel(800); /*设置手指抬起屏幕后的补偿距离。*/
+ FocusManager::GetInstance()->RequestFocus(scrollView);
+ FocusManager::GetInstance()->RequestFocusByDirection(FOCUS_DIRECTION_UP);
scrollView->SetRotateFactor(1.0);
- scrollView->SetMaxScrollDistance(1000);
- scrollView->SetDragACCLevel(5);
- scrollView->SetSwipeACCLevel(800); /*设置手指抬起屏幕后的补偿距离。*/
+ scrollView->SetOnDragListener(presenter_);
scrollView->SetTouchable(true);
scrollView->SetDraggable(true);
container_->Add(scrollView);
}
UpdateSelectedStyle();
+ /* ------------------- 该组件的使用是为了解决不能单独设置滚动视图底部空白大小问题,用一个不可见组件占位置 ------------------ */
+ /* ---------------------------- 因为使用SetScrollBlankSize设置过大后,下拉后无法恢复到原位置,有明显的向下偏移 --------------------------- */
+ if (temp == nullptr)
+ {
+ temp = new UIImageView();
+ if (temp == nullptr)
+ {
+ return;
+ }
+ if (ExitLabelButton)
+ {
+ temp->SetPosition(43, ExitLabelButton->GetY() + ExitLabelButton->GetHeight(), 380, 40);
+ }
+ temp->SetVisible(false);
+ scrollView->Add(temp);
+ }
initViewStatus = true;
}
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ThemeStyleView::OnStart");
View<ThemeStylePresenter>::OnStart();
SetContainerView(new UIViewGroup());
+ if (GetContainer() == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "container_ new fail!!");
+ return;
+ }
container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
- container_->SetOnDragListener(presenter_);
container_->SetTouchable(true);
container_->SetDraggable(true);
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ThemeStyleView::OnStop");
View<ThemeStylePresenter>::OnStop();
RootView::GetInstance()->ClearOnKeyActListener();
- if (container_ != nullptr)
- {
- container_->RemoveAll();
- delete container_;
- container_ = nullptr;
- }
+ FocusManager::GetInstance()->ClearFocus();
ClearAll();
}