#include "string"
#include "AppViewIDs.h"
#include "NativeAbility.h"
+#include "themestyle/include/ThemeStyleModel.h"
namespace OHOS
{
// viewId
- static constexpr const char *DROPDOWN_FINDPHONE_TOGGLEBUTTON_VIEWID = "dropdown_bt"; // 查找手机
- static constexpr const char *DROPDOWN_LIGHTING_TOGGLEBUTTON_VIEWID = "dropdown_4g"; // 手电筒
+ static constexpr const char *DROPDOWN_FINDPHONE_TOGGLEBUTTON_VIEWID = "dropdown_bt"; // 查找手机
+ static constexpr const char *DROPDOWN_LIGHTING_TOGGLEBUTTON_VIEWID = "dropdown_4g"; // 手电筒
+ static constexpr const char *DROPDOWN_APPLIST_DISPLAY_TOGGLEBUTTON_VIEWID = "dropdown_applist_display"; // 列表样式
// Image src
static constexpr const char *DROPDOWN_FINDPHONE_IMAGE = "/user/res/dropdown/DROPDOWN_FINDPHONE.bin";
static constexpr const char *DROPDOWN_LIGHTING_IMAGE = "/user/res/dropdown/DROPDOWN_LIGHTING.bin";
+ static constexpr const char *DROPDOWN_APPLIST_DISPLAY_IMAGE[] =
+ {
+ "/user/res/themestyle/list.bin", // 列表
+ "/user/res/themestyle/arclist.bin", // 弧形列表
+ "/user/res/themestyle/hexagons.bin", // 蜂窝
+ "/user/res/themestyle/dialplate.bin", // 拨号盘
+ "/user/res/themestyle/grid.bin", // 瀑布流
+ };
+
static DropDownCardPage2 *g_pDropDownCardPage2{nullptr};
DropDownCardPage2::DropDownCardPage2()
{
return g_pDropDownCardPage2;
}
+ void DropDownCardPage2::SetApplistDisplay(void)
+ {
+ ThemeStyle style = ThemeStyleModel::GetInstance().GetAppListDisplayStyle();
+ if (style == ThemeStyle::APPLIST_STYLE)
+ {
+ toggleButton[2]->SetImages(DROPDOWN_APPLIST_DISPLAY_IMAGE[1], DROPDOWN_APPLIST_DISPLAY_IMAGE[1]); // 切换到弧形列表
+ ThemeStyleModel::GetInstance().SetAppListDisplayStyle(ThemeStyle::ARC_SCALE_LIST_STYLE);
+ }
+ else if (style == ThemeStyle::ARC_SCALE_LIST_STYLE)
+ {
+ toggleButton[2]->SetImages(DROPDOWN_APPLIST_DISPLAY_IMAGE[2], DROPDOWN_APPLIST_DISPLAY_IMAGE[2]);// 切换到蜂窝
+ ThemeStyleModel::GetInstance().SetAppListDisplayStyle(ThemeStyle::HEXAGONS_STYLE);
+ }
+ else if (style == ThemeStyle::HEXAGONS_STYLE)
+ {
+ toggleButton[2]->SetImages(DROPDOWN_APPLIST_DISPLAY_IMAGE[3], DROPDOWN_APPLIST_DISPLAY_IMAGE[3]); // 切换到拨号盘
+ ThemeStyleModel::GetInstance().SetAppListDisplayStyle(ThemeStyle::CIRCLE_LIST_STYLE);
+ }
+ else if (style == ThemeStyle::CIRCLE_LIST_STYLE)
+ {
+ toggleButton[2]->SetImages(DROPDOWN_APPLIST_DISPLAY_IMAGE[4], DROPDOWN_APPLIST_DISPLAY_IMAGE[4]); // 切换到瀑布流
+ ThemeStyleModel::GetInstance().SetAppListDisplayStyle(ThemeStyle::WATERFALL_STYLE);
+ }
+ else if (style == ThemeStyle::WATERFALL_STYLE)
+ {
+ toggleButton[2]->SetImages(DROPDOWN_APPLIST_DISPLAY_IMAGE[0], DROPDOWN_APPLIST_DISPLAY_IMAGE[0]); // 切换到列表
+ ThemeStyleModel::GetInstance().SetAppListDisplayStyle(ThemeStyle::APPLIST_STYLE);
+ }
+
+ return;
+ }
bool DropDownCardPage2::OnClick(UIView &view, const ClickEvent &event)
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DropDownCardPage2::OnClick");
std::string viewId = view.GetViewId();
- if (viewId == DROPDOWN_FINDPHONE_TOGGLEBUTTON_VIEWID)
+ if (viewId == DROPDOWN_FINDPHONE_TOGGLEBUTTON_VIEWID)
{
NativeAbility::GetInstance().EnterSlice(VIEW_FIND_PHONE);
}
{
NativeAbility::GetInstance().EnterSlice(VIEW_FLASHLIGHT);
}
+ else if (viewId == DROPDOWN_APPLIST_DISPLAY_TOGGLEBUTTON_VIEWID)
+ {
+ SetApplistDisplay();
+ }
return true;
}
}
toggleButton->SetPosition(toggleButtonConfig.left, toggleButtonConfig.top, toggleButtonConfig.width, toggleButtonConfig.height);
toggleButton->SetViewId(toggleButtonConfig.viewId);
- toggleButton->SetStyle(STYLE_BACKGROUND_OPA, 0x00);
- toggleButton->SetStyle(STYLE_BORDER_RADIUS, 200);
+ if (toggleButtonConfig.viewId == DROPDOWN_APPLIST_DISPLAY_TOGGLEBUTTON_VIEWID)
+ {
+ toggleButton->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
+ toggleButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
+ toggleButton->SetStyle(STYLE_BORDER_RADIUS, 200);
+ }
+ else
+ {
+ toggleButton->SetStyle(STYLE_BACKGROUND_OPA, 0x00);
+ toggleButton->SetStyle(STYLE_BORDER_RADIUS, 200);
+ }
toggleButton->SetImages(toggleButtonConfig.selectImg, toggleButtonConfig.unselectImg);
toggleButton->SetTouchable(toggleButtonConfig.isTouchable);
bool DropDownCardPage2::InitPage(void)
{
int size = sizeof(toggleButton) / sizeof(toggleButton[0]);
+ ThemeStyle style = ThemeStyleModel::GetInstance().GetAppListDisplayStyle();
+ int index = 0;
+ if (style == ThemeStyle::APPLIST_STYLE) // 列表
+ {
+ index = 0;
+ }
+ else if (style == ThemeStyle::ARC_SCALE_LIST_STYLE) // 弧形列表
+ {
+ index = 1;
+ }
+ else if (style == ThemeStyle::HEXAGONS_STYLE) // 蜂窝
+ {
+ index = 2;
+ }
+ else if (style == ThemeStyle::CIRCLE_LIST_STYLE) // 拨号盘
+ {
+ index = 3;
+ }
+ else if (style == ThemeStyle::WATERFALL_STYLE) // 瀑布流
+ {
+ index = 4;
+ }
+
ToggleButtonConfig toggleButtonConfig[] = {
{0, 0, 100, 100, DROPDOWN_FINDPHONE_TOGGLEBUTTON_VIEWID, DROPDOWN_FINDPHONE_IMAGE, DROPDOWN_FINDPHONE_IMAGE, true},
{110, 0, 100, 100, DROPDOWN_LIGHTING_TOGGLEBUTTON_VIEWID, DROPDOWN_LIGHTING_IMAGE, DROPDOWN_LIGHTING_IMAGE, true},
+ {220, 0, 100, 100, DROPDOWN_APPLIST_DISPLAY_TOGGLEBUTTON_VIEWID, DROPDOWN_APPLIST_DISPLAY_IMAGE[index], DROPDOWN_APPLIST_DISPLAY_IMAGE[index], true},
};
for (int i = 0; i < size; i++)
scrollView->Add(titleText);
/* -------------------------------------------------------------------------- */
// int16_t textId[] = {STR_LIST_DISPLAY, STR_CELLULAR_DISPLAY, STR_ARC_SCALE_LIST_DISPLAY,STR_DIAL_PLATE};
- int16_t textId[] = {STR_ARC_SCALE_LIST_DISPLAY, STR_CELLULAR_DISPLAY,STR_DIAL_PLATE,STR_WATERFALL_DISPLAY};
+ int16_t textId[] = {STR_LIST_DISPLAY,STR_ARC_SCALE_LIST_DISPLAY, STR_CELLULAR_DISPLAY,STR_DIAL_PLATE,STR_WATERFALL_DISPLAY};
LabelConfig labelConfig = {
.left = 143,
.top = 153,
};
// const char *viewId[] = {THEME_STYLE_LIST, THEME_STYLE_HEXAGONS, THEME_STYLE_ARC_LIST,THEME_STYLE_CIRCLE_LIST};
- const char *viewId[] = {THEME_STYLE_ARC_LIST, THEME_STYLE_HEXAGONS,THEME_STYLE_CIRCLE_LIST,THEME_STYLE_WATERFALL};
+ const char *viewId[] = {THEME_STYLE_LIST,THEME_STYLE_ARC_LIST, THEME_STYLE_HEXAGONS,THEME_STYLE_CIRCLE_LIST,THEME_STYLE_WATERFALL};
for (int i = 0; i < sizeof(viewId) / sizeof(viewId[0]); i++)
{
labelbuttonconfig.top = 120 + 120 * i;
};
int y = 150;
// const char *src[MAX_STYLE] = {THEMESTYLE_LIST_IMAGEPATH, THEMESTYLE_HEXAGONS_IMAGEPATH, THEMESTYLE_ARCLIST_IMAGEPATH,THEMESTYLE_CIRCLELIST_IMAGEPATH};
- const char *src[] = {THEMESTYLE_ARCLIST_IMAGEPATH, THEMESTYLE_HEXAGONS_IMAGEPATH,THEMESTYLE_CIRCLELIST_IMAGEPATH,THEMESTYLE_WATERFALL_IMAGEPATH};
+ const char *src[] = {THEMESTYLE_LIST_IMAGEPATH,THEMESTYLE_ARCLIST_IMAGEPATH, THEMESTYLE_HEXAGONS_IMAGEPATH,THEMESTYLE_CIRCLELIST_IMAGEPATH,THEMESTYLE_WATERFALL_IMAGEPATH};
for (int i = 0; i < sizeof(src) / sizeof(src[0]); i++)
{
imageconfig.y = y + 120 * i;
// 更新按钮的选中状态
void ThemeStyleView::UpdateSelectedStyle(void)
{
+ ThemeStyle style = ThemeStyleModel::GetInstance().GetAppListDisplayStyle();
+ int index = 0;
+ if (style == ThemeStyle::APPLIST_STYLE)
+ {
+ index = 0;
+ }
+ else if (style == ThemeStyle::ARC_SCALE_LIST_STYLE)
+ {
+ index = 1;
+ }
+ else if (style == ThemeStyle::HEXAGONS_STYLE)
+ {
+ index = 2;
+ }
+ else if (style == ThemeStyle::CIRCLE_LIST_STYLE)
+ {
+ index = 3;
+ }
+ else if (style == ThemeStyle::WATERFALL_STYLE)
+ {
+ index = 4;
+ }
for (int i = 0; i < MAX_STYLE; i++)
{
- if (i == presenter_->GetSelectThemeStyleId())
+ if (i == index)
{
ThemeStyleLabelButton[i]->SetImageSrc(PNG_CHECKBOX_ON_IMAGE, PNG_CHECKBOX_ON_IMAGE);
}
{ConfigDataType::DATATYPE_INT, "select_aimodel", "0" },//CONFIGMODEL_ITEM_SELECT_AIMODEL
{ConfigDataType::DATATYPE_BOOL, "is_first_time_start", "true" }, //CONFIGMODEL_ITEM_FIRSTTIMESTART true :手表第一次启动,否则不是
{ConfigDataType::DATATYPE_STRING, "open_ai_api_keys", "-1" }, //CONFIGMODEL_ITEM_OPEN_AI_API_KEYS
+ #ifdef BOARD_N9
+ {ConfigDataType::DATATYPE_STRING, "applist_style", "list" }, //CONFIGMODEL_ITEM_APPLIST_STYLE
+ #else
{ConfigDataType::DATATYPE_STRING, "applist_style", "arc_scale_list" }, //CONFIGMODEL_ITEM_APPLIST_STYLE
+ #endif
{ConfigDataType::DATATYPE_INT, "android_or_ios", "0" },//CONFIGMODEL_ITEM_BLE_IOS_OR_ANDROID
{ConfigDataType::DATATYPE_INT, "br_pari" , "0"},
{ConfigDataType::DATATYPE_INT, "ota_upgrade" , "0"},// CONFIGMODEL_ITEM_OTA_UPGRADE