* @Author: luozheng 1732036298@qq.com
* @Date: 2024-03-27 19:48:49
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-09-20 15:44:27
+ * @LastEditTime: 2024-09-25 14:49:58
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingItemView.cpp
*/
#include "systemupdate/include/SystemUpdateModel.h"
namespace OHOS
{
- static constexpr int16_t SETTING_ICON_X = 19;
+ static constexpr int16_t SETTING_ICON_X = 19 + 43;
static constexpr int16_t SETTING_SICON_Y = 19;
static constexpr int16_t SETTING_SICON_W = 62;
static constexpr int16_t SETTING_SICON_H = 62;
- static constexpr int16_t SETTINGLABELEXT_X = 115;
+ static constexpr int16_t SETTINGLABELEXT_X = 115 + 43;
static constexpr int16_t SETTINGLABELEXT_Y = 33;
static constexpr int16_t SETTINGLABELEXT_W = 180;
static constexpr int16_t SETTINGLABELEXT_H = 35;
+ static constexpr int16_t SETTINGLABELEXT_X2 = 83;
+ static constexpr int16_t SETTINGLABELEXT_Y2 = 50;
+ static constexpr int16_t SETTINGLABELEXT_W2 = 300;
+ static constexpr int16_t SETTINGLABELEXT_H2 = 35;
static constexpr int16_t SETTINGLABELEXT_TEXT_FONT = 30;
static constexpr int16_t SETTINGLABELEXT_LINE_HEIGHT = 35;
static constexpr int16_t SETTINGLABELEXT_ROLLSPEED = 70;
- static constexpr int16_t SETTINGLABELBUTTONEXT_X = 0;
+ static constexpr int16_t SETTINGLABELBUTTONEXT_X = 43;
static constexpr int16_t SETTINGLABELBUTTONEXT_Y = 0;
static constexpr int16_t SETTINGLABELBUTTONEXT_W = 380;
static constexpr int16_t SETTINGLABELBUTTONEXT_H = 100;
SettingItemView::SettingItemView()
{
- SetPosition(43, 120, 380, 120);
+ SetPosition(43, 120, 466, 120);
SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
SetStyle(STYLE_BACKGROUND_OPA, UN_OPACITY);
- SetTouchable(true);
SetUpChild();
Add(&settingLabelButtonExt);
Add(&settingLabelExt);
SettingItemView::~SettingItemView()
{
- // Remove(&settingLabelButtonExt);
- // Remove(&settingLabelExt);
- // Remove(&Icon);
RemoveAll();
}
void SettingItemView::SetItemInfo(const SettingItem itemInfo)
{
sItemInfo = itemInfo;
- Icon.SetSrc(itemInfo.icon);
- settingLabelExt.SetTextId(itemInfo.textId);
+ if (itemInfo.hasSecondMenu)
+ {
+ Icon.SetVisible(true);
+ Icon.SetSrc(itemInfo.icon);
+ settingLabelExt.SetVisible(true);
+ settingLabelExt.SetPosition(SETTINGLABELEXT_X, SETTINGLABELEXT_Y, SETTINGLABELEXT_W, SETTINGLABELEXT_H);
+ settingLabelExt.SetTextId(itemInfo.textId);
+ settingLabelExt.SetAlign(TEXT_ALIGNMENT_LEFT, TEXT_ALIGNMENT_CENTER);
+ settingLabelButtonExt.SetVisible(true);
+ SetHeight(120);
+ SetTouchable(true);
+ }
+ else
+ {
+
+ Icon.SetVisible(false);
+ if (itemInfo.viewId == VIEW_INVALID && itemInfo.textId == STR_MAX_ID)
+ {
+ settingLabelExt.SetVisible(false);
+ SetHeight(60);
+ }
+ else
+ {
+ settingLabelExt.SetVisible(true);
+ SetHeight(120);
+ }
+ settingLabelExt.SetPosition(SETTINGLABELEXT_X2, SETTINGLABELEXT_Y2, SETTINGLABELEXT_W2, SETTINGLABELEXT_H2);
+ settingLabelExt.SetTextId(itemInfo.textId);
+ settingLabelExt.SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+ settingLabelButtonExt.SetVisible(false);
+ SetTouchable(false);
+ }
if (itemInfo.textId == STR_SYSTEM && SystemUpdateModel::GetInstance().IsLatestVersion() == false) // 如果不是最新系统版本出现小圆点
{
{
Icon.SetPosition(SETTING_ICON_X, SETTING_SICON_Y, SETTING_SICON_W, SETTING_SICON_H);
Icon.SetStyle(STYLE_IMAGE_OPA, OPA_OPAQUE);
- // Icon.SetAutoEnable(false);
- // Icon.SetResizeMode(UIImageView::SCALE_DOWN);
- // Icon.SetStyle(STYLE_BORDER_RADIUS, 100);
settingLabelExt.SetPosition(SETTINGLABELEXT_X, SETTINGLABELEXT_Y, SETTINGLABELEXT_W, SETTINGLABELEXT_H);
settingLabelExt.SetStyle(STYLE_TEXT_FONT, SETTINGLABELEXT_TEXT_FONT);
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-02-18 09:09:13
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-09-14 19:58:19
+ * @LastEditTime: 2024-09-25 14:20:13
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingModel.cpp
*/
#include "settings/include/SettingModel.h"
void SettingModel::InitSettingItem()
{
int index = 0;
+ settings[index++] = {VIEW_SETTING, nullptr, STR_SETTINGS, false};//标题:设置
settings[index++] = {VIEW_DISPLAY_BRIGHTNESS, PNG_SETTINGS_DISPLAY_BRIGHTNESS, STR_SCREEN_AND_BRIGHTNESS, true};
settings[index++] = {VIEW_NETWORKANDCALL, PNG_SETTINGS_NETWORKANDCALL, STR_NETWORKANDCALL, true};
settings[index++] = {VIEW_CLASSIC_BLUETOOTH, PNG_SETTINGS_BLUETOOTH, STR_BLUETOOTH, true};
settings[index++] = {VIEW_SET_DIAL_STYLE, PNG_SETTINGS_CHANGEDIAL_IMAGE, STR_DIAL_BROWSING_SPECIAL_EFFECTS, true};
settings[index++] = {VIEW_SAVEELE, PNG_SETTINGS_SAVEELE_IMAGE, STR_POWER_SAVE_MODE, true};
settings[index++] = {VIEW_SYSTEM, PNG_SETTINGS_SYSTEM, STR_SYSTEM, true};
- // settings[index++] = {VIEW_REBOOTANDSHUTDOWN, PNG_SETTINGS_SHUTDOWN_AND_RESTART, STR_SHUTDOWN_AND_RESTART, true};
+ settings[index++] = {VIEW_INVALID, nullptr, STR_MAX_ID, false};
usedLen = index;
}
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-07-12 09:55:29
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-09-20 20:42:55
+ * @LastEditTime: 2024-09-25 14:53:50
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingView.cpp
*/
static constexpr int16_t SETTING_TITLE_POSITION_X = 83;
static constexpr int16_t SETTING_TITLE_POSITION_Y = 52;
static constexpr int16_t SETTING_TITLE_SIZE_WIDTH = 300;
- static constexpr int16_t SETTING_TITLE_SIZE_HEIGHT = 40;
+ static constexpr int16_t SETTING_TITLE_SIZE_HEIGHT = 35;
static constexpr uint8_t SETTINGS_TITLE_FONT_SIZE = 30; // 字体大小
static constexpr uint8_t SETTINGS_TITLE_FONT_HEIGHT = 35; // 字体高度
/* --------------------------------- 设置List --------------------------------- */
- static constexpr int16_t SETTING_LIST_POSITION_X = 43;
- static constexpr int16_t SETTING_LIST_POSITION_Y = 120;
+ static constexpr int16_t SETTING_LIST_POSITION_X = 0;
+ static constexpr int16_t SETTING_LIST_POSITION_Y = 0;
static constexpr int16_t SETTING_SCROLLBLANKSIZE = 50; // 设置此滚动视图的空白大小。
static constexpr int16 MAX_SCR_DIS = 1000;
static constexpr int16 LIST_POS = 20;
if (scrollView != nullptr)
{
scrollView->RemoveAll();
- if (title != nullptr)
- {
- delete title;
- title = nullptr;
- }
if (listAdapter != nullptr)
{
delete listAdapter;
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingView::CreateSettingView");
/* -------------------------------------------------------------------------- */
- scrollView = new UIScrollView();
if (scrollView == nullptr)
{
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingView::OnStart::scrollView is nullptr");
- return;
+ scrollView = new UIScrollView();
+ if (scrollView == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SettingView::OnStart::scrollView is new fail!!");
+ return;
+ }
}
- scrollView->SetPosition(0, 0, 466, 466);
+ scrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
scrollView->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
scrollView->SetStyle(STYLE_BACKGROUND_OPA, UN_OPACITY);
scrollView->SetHorizontalScrollState(false);
scrollView->SetThrowDrag(true);
scrollView->SetOnDragListener(presenter_);
/* -------------------------------------------------------------------------- */
- title = new UILabelExt();
- if (title == nullptr)
- {
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingView::OnStart::title is nullptr");
- return;
- }
- title->SetPosition(SETTING_TITLE_POSITION_X, SETTING_TITLE_POSITION_Y, SETTING_TITLE_SIZE_WIDTH, SETTING_TITLE_SIZE_HEIGHT);
- title->SetTextId(STR_SETTINGS); /*设置*/
- title->SetStyle(STYLE_TEXT_FONT, SETTINGS_TITLE_FONT_SIZE);
- title->SetStyle(STYLE_LINE_HEIGHT, SETTINGS_TITLE_FONT_HEIGHT);
- title->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);
- title->SetRollSpeed(ROLLSPEED);
- title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, SETTINGS_TITLE_FONT_SIZE);
- title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- title->SetStyle(STYLE_TEXT_OPA, OPA_OPAQUE);
- title->SetStyle(STYLE_TEXT_COLOR, Color::White().full);
- title->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
- title->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);
-
- listAdapter = new SettingAdapter();
if (listAdapter == nullptr)
{
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingView::OnStart::listAdapter is nullptr");
- return;
+ listAdapter = new SettingAdapter();
+ if (listAdapter == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SettingView::OnStart::listAdapter is new fail!!");
+ return;
+ }
}
listAdapter->SetItemClickListener(presenter_);
- contentList = new UIList(UIList::VERTICAL);
+ /* -------------------------------------------------------------------------- */
if (contentList == nullptr)
{
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingView::OnStart::contentList is nullptr");
- return;
+ contentList = new UIList(UIList::VERTICAL);
+ if (contentList == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SettingView::OnStart::contentList is new fail!!");
+ return;
+ }
}
- contentList->SetPosition(SETTING_LIST_POSITION_X, SETTING_LIST_POSITION_Y, HORIZONTAL_RESOLUTION, 346);
+ contentList->SetPosition(SETTING_LIST_POSITION_X, SETTING_LIST_POSITION_Y, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
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->SetReboundSize(30);
+ // contentList->SetScrollBlankSize(30);
FocusManager::GetInstance()->RequestFocus(contentList);
FocusManager::GetInstance()->RequestFocusByDirection(FOCUS_DIRECTION_UP);
contentList->SetRotateFactor(1.0);
/* ----------------------------------- Add ---------------------------------- */
- scrollView->Add(title);
scrollView->Add(contentList);
container_->Add(scrollView);
}