From 5c3808e934d38518a3a30ed9ec9eefef2d8a646b Mon Sep 17 00:00:00 2001 From: cheng Date: Thu, 29 Aug 2024 11:46:46 +0800 Subject: [PATCH] =?utf8?q?=E9=97=B9=E9=92=9F=E7=95=8C=E9=9D=A2=E4=BF=AE?= =?utf8?q?=E6=94=B9=EF=BC=9A=E9=97=B9=E9=92=9F=E5=88=97=E8=A1=A8=E3=80=81?= =?utf8?q?=E6=96=B0=E5=BB=BA=E9=97=B9=E9=92=9F=E8=AE=BE=E7=BD=AE=E6=97=B6?= =?utf8?q?=E9=97=B4=E6=98=9F=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../nativeui/alarm/include/AlarmPresenter.h | 14 +- .../nativeui/alarm/include/MainAlarmView.h | 20 +- .../nativeui/alarm/src/AlarmNewTimeView.cpp | 50 ++- .../nativeui/alarm/src/AlarmPresenter.cpp | 21 +- .../nativeui/alarm/src/AlarmSetWeekView.cpp | 174 +++++--- .../nativeui/alarm/src/MainAlarmView.cpp | 390 ++++++++++++++---- .../fd230/fs/user/res/Alarm/alarm_delete.bin | 3 + 7 files changed, 503 insertions(+), 169 deletions(-) create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/Alarm/alarm_delete.bin diff --git a/code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmPresenter.h b/code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmPresenter.h index af323453f..b572a51f6 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmPresenter.h +++ b/code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmPresenter.h @@ -25,6 +25,7 @@ #include "components/ui_label_button.h" #include "components/ui_time_picker.h" #include "components/ui_digital_clock.h" +#include "components/ui_swipe_view.h" #include "gfx_utils/graphic_log.h" #include "AlarmClockModel.h" #include "wearable_log.h" @@ -84,6 +85,16 @@ constexpr char* ALARM_CLOCK[6] = {ALARM_CLOCK_ONE, ALARM_CLOCK_TWO, ALARM_CLOCK_ ALARM_CLOCK_FOUR, ALARM_CLOCK_FIVE, ALARM_CLOCK_SIX}; constexpr char* WEEK_CONTAINER[7] = {SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY}; // 日期按钮最大个数为7个 + +constexpr char * ALARM_ITEM_DELETE_00 = (char *)"ALARM_ITEM_DELETE_00"; +constexpr char * ALARM_ITEM_DELETE_01 = (char *)"ALARM_ITEM_DELETE_01"; +constexpr char * ALARM_ITEM_DELETE_02 = (char *)"ALARM_ITEM_DELETE_02"; +constexpr char * ALARM_ITEM_DELETE_03 = (char *)"ALARM_ITEM_DELETE_03"; +constexpr char * ALARM_ITEM_DELETE_04 = (char *)"ALARM_ITEM_DELETE_04"; +constexpr char * ALARM_ITEM_DELETE_05 = (char *)"ALARM_ITEM_DELETE_05"; +constexpr char * ALARM_ITEM_DELETE[6] = {ALARM_ITEM_DELETE_00, ALARM_ITEM_DELETE_01, ALARM_ITEM_DELETE_02, + ALARM_ITEM_DELETE_03, ALARM_ITEM_DELETE_04, ALARM_ITEM_DELETE_05}; + typedef enum { MAIN_INTERFACE = 0, CHANGE_INTERFACE_CONFIG, @@ -116,7 +127,7 @@ private: class MainAlarmView; class AlarmPresenter : public Presenter, public UIView::OnClickListener, public RootView::OnKeyActListener, - public UITimePicker::SelectedListener, public UIView::OnDragListener { + public UITimePicker::SelectedListener, public UIView::OnDragListener, public UISwipeView::OnSwipeListener { public: AlarmPresenter(); ~AlarmPresenter() override; @@ -131,6 +142,7 @@ public: bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件 bool OnClick(UIView &view, const ClickEvent &event) override; bool OnDrag(UIView& view, const DragEvent& event) override; + void OnSwipe(UISwipeView &view) override; bool ClickFuncId(const char *buttonName); bool ClickFuncView(UIView &view); void OnTimePickerStoped(UITimePicker &picker) override; diff --git a/code/sdk/application/wearable/fd230app/nativeui/alarm/include/MainAlarmView.h b/code/sdk/application/wearable/fd230app/nativeui/alarm/include/MainAlarmView.h index 9140a477e..6deb8aa61 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/alarm/include/MainAlarmView.h +++ b/code/sdk/application/wearable/fd230app/nativeui/alarm/include/MainAlarmView.h @@ -21,6 +21,8 @@ #include "ChangeSliceListener.h" #include "components/ui_digital_clock.h" #include "components/ui_toggle_button.h" +#include "components/ui_swipe_view.h" +#include "components/ui_label_button_ext.h" #include "AlarmPresenter.h" #include "AlarmSetTimeView.h" #include "AlarmSetWeekView.h" @@ -33,7 +35,7 @@ namespace OHOS { constexpr int16_t D_CLOCK_Y = 210; constexpr int16_t LABEL_ZERO_Y = 270; -constexpr int16_t ALARM_INTER_ADD = 150; +constexpr int16_t ALARM_INTER_ADD = 130; // 150; class AlarmPresenter; class MainAlarmView : public View { @@ -47,7 +49,7 @@ public: void OnStop() override; void ChangeView(int16_t hideView, int16_t showView); void DropView(UIView& view); - void CreateImage(); + // void CreateImage(); void RefreshAlarm(void); bool ChangeMainAlarm(int16_t thisView); bool ChangeConfig(int16_t thisView); @@ -62,6 +64,11 @@ private: void LabelGetWeek(uint8_t week, int16_t alarmNum); void RefreshAlarmStatus(uint8_t alarmEnable, int16_t num); void NewClockCtl(int16_t alarmNum); + UIViewGroup * NewClockCtlExt(int16_t alarmNum, uint8_t index); + void AlarmTitleCreate(void); + void AlarmAddButtonCreate(void); + void AlarmAddButtonUpdate(uint8_t count); + AlarmConfigView *configView{nullptr}; AlarmSetTimeView *setTimeView{nullptr}; AlarmSetWeekView *setWeekView{nullptr}; @@ -69,8 +76,11 @@ private: AlarmNewTimeView *newTimeView{nullptr}; AlarmMaxClock *maxClockView{nullptr}; UIScrollView *group{nullptr}; + UISwipeView * SwipeView_[6]{nullptr}; + UIViewGroup * SwipeViewItem_[6][2]{nullptr}; + UILabelButtonExt * DeleteButton_[6]{nullptr}; UIToggleButton *statusButton[6]{nullptr}; // 6代表界面中最多存在六个按键 - UIImageView *addButton{nullptr}; + // UIImageView *addButton{nullptr}; UIDigitalClock *dClock[6]{nullptr}; // 6代表界面中最多存在六个闹钟 UILabel *dLabel[6]{nullptr}; // 6代表界面中显示闹钟日期的控件个数 UIScrollView *container[7]{nullptr}; // 7代表容器存有主界面以及跳转的四个副界面,用于跳转后显示或隐藏界面 @@ -81,6 +91,10 @@ private: int16_t labelPositionY{LABEL_ZERO_Y}; int16_t alarmInterval{ALARM_INTER_ADD}; bool reflashStatus{false}; + UILabelExt * TitleLabelExt_{nullptr}; + UILabelButtonExt * AddButton_{nullptr}; + + #define ALARM_DELETE_IMAGE "/user/res/Alarm/alarm_delete.bin" }; } // namespace OHOS #endif // MAIN_ALARM_VIEW_Ha \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmNewTimeView.cpp b/code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmNewTimeView.cpp index 55db62df7..65faf0c2d 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmNewTimeView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmNewTimeView.cpp @@ -16,7 +16,8 @@ namespace OHOS { #ifndef NEW_TIME -#define NEW_TIME "设置时间" +// #define NEW_TIME "设置时间" +#define NEW_TIME "时间" #endif #define NEXT "下一步" @@ -45,7 +46,7 @@ constexpr uint16_t LABEL_FONT = 40; AlarmNewTimeView::AlarmNewTimeView() { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView::AlarmNewTimeView"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView::AlarmNewTimeView"); g_pAlarmNewTimeView = this; } @@ -61,7 +62,7 @@ AlarmNewTimeView::~AlarmNewTimeView() delete group; group = nullptr; g_pAlarmNewTimeView = nullptr; - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView::~AlarmNewTimeView"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView::~AlarmNewTimeView"); } AlarmNewTimeView *AlarmNewTimeView::GetInstance(void) @@ -94,7 +95,13 @@ void AlarmNewTimeView::CreateLabelTime(void) return; } group->Add(title); - title->SetPosition(TITLE_X, TITLE_Y); // 672: x-coordinate + // title->SetPosition(TITLE_X, TITLE_Y); // 672: x-coordinate + title->SetPosition(83, 50, 300, 35); + title->SetStyle(STYLE_TEXT_FONT, 30); + title->SetStyle(STYLE_LINE_HEIGHT, 35); + title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); + title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); + title->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE); picker = new UITimePicker(); if (picker == nullptr) { @@ -113,15 +120,18 @@ void AlarmNewTimeView::CreateLabelTime(void) picker->SetItemHeight(TIME_ITEM_HEIGHT); picker->SetLoopState(0, true); picker->SetLoopState(1, true); - picker->SetBackgroundFont(DEFAULT_VECTOR_FONT_FILENAME, BACKGROUND_FONT); - picker->SetHighlightFont(DEFAULT_VECTOR_FONT_FILENAME, HIGHTLIGHT_FONT); + // picker->SetBackgroundFont(DEFAULT_VECTOR_FONT_FILENAME, BACKGROUND_FONT); + // picker->SetHighlightFont(DEFAULT_VECTOR_FONT_FILENAME, HIGHTLIGHT_FONT); + picker->SetHighlightFont(GILROY_BOLD_FONT, 65); // 设置突出显示文本的字体名称和大小。 + picker->SetBackgroundFont(DEFAULT_VECTOR_FONT_FILENAME, 50); + picker->SetTextColor(Color::GetColorFromRGBA(0xcc, 0xcc, 0xcc, 0xff), Color::GetColorFromRGBA(0xff, 0xff, 0xff, 0xff)); picker->RegisterSelectedListener(selectedListener); group->Add(picker); } UIScrollView *AlarmNewTimeView::InitNewTimeView(void) { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView::OnStart"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView::OnStart"); group = new UIScrollView(); if (group == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView:: new group fail"); @@ -138,18 +148,28 @@ UIScrollView *AlarmNewTimeView::InitNewTimeView(void) WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView:: new labelButton fail"); return group; } - labelButton->Resize(BUTTON_WIDHT3, BUTTON_HEIGHT3); - labelButton->SetPosition(TIME_LABEL_BUTTON_X, TIME_LABEL_BUTTON_Y); - labelButton->SetText(NEXT); + // labelButton->Resize(BUTTON_WIDHT3, BUTTON_HEIGHT3); + // labelButton->SetPosition(TIME_LABEL_BUTTON_X, TIME_LABEL_BUTTON_Y); + // labelButton->SetText(NEXT); + // labelButton->SetViewId(ALARM_NEXT); + // labelButton->SetTouchable(true); + // labelButton->SetImageSrc(PNG_NEW_DEVICE, PNG_NEW_DEVICE); + // labelButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, LABEL_FONT); + + labelButton->SetPosition(0, 366, 466, 100); labelButton->SetViewId(ALARM_NEXT); + labelButton->SetText(NEXT); + labelButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); + labelButton->SetTextColor(Color::GetColorFromRGBA(0xff, 0xff, 0xff, 0xff)); + labelButton->SetImageSrc(PNG_BUTTON_466x100_IMAGE, PNG_BUTTON_466x100_IMAGE); + labelButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0x00, UIButton::PRESSED); labelButton->SetTouchable(true); - labelButton->SetImageSrc(PNG_NEW_DEVICE, PNG_NEW_DEVICE); - labelButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, LABEL_FONT); + if (OHOS::AlarmPresenter::GetInstance() == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView:: new ShadowBlue fail"); return group; } - labelButton->SetTextColor(OHOS::AlarmPresenter::GetInstance()->ShadowBlue()); + // labelButton->SetTextColor(OHOS::AlarmPresenter::GetInstance()->ShadowBlue()); UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::AlarmPresenter::GetInstance(); labelButton->SetOnClickListener(clickListener); group->Add(labelButton); @@ -166,7 +186,7 @@ UIScrollView *AlarmNewTimeView::InitNewTimeView(void) void AlarmNewTimeView::RefreshNewTime(void) { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView::RefreshStep"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView::RefreshStep"); struct tm local_time; time_t seconds = time(nullptr); if (localtime_r(&seconds, &local_time) == nullptr) { @@ -178,7 +198,7 @@ void AlarmNewTimeView::RefreshNewTime(void) ostrHour << local_time.tm_hour; ostMin << local_time.tm_min; std::string weekStr = ostrHour.str() + ":" + ostMin.str(); - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "time = %s!", weekStr.c_str()); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "time = %s!", weekStr.c_str()); picker->SetSelected(weekStr.c_str()); // 添加的时间默认初始时间为0点 uint32_t timeHour = stoi(ostrHour.str()); uint32_t timeMin = stoi(ostMin.str()); diff --git a/code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmPresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmPresenter.cpp index 37f304cdd..f112e54c4 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmPresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmPresenter.cpp @@ -415,14 +415,20 @@ bool AlarmPresenter::ClickFuncView(UIView &view) alarmWeek[num] = alarmWeek[num] ? CANCEL_DATA: SELECT_DATA; if (alarmWeek[num] == CANCEL_DATA) { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "alarmWeek[num] = %u", alarmWeek[num]); - view.SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full); + // view.SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full); + // dynamic_cast(view).SetStyleForState(STYLE_BACKGROUND_COLOR, + // Color::Black().full, UIButton::PRESSED); + view.SetStyle(STYLE_BACKGROUND_COLOR, Color::GetColorFromRGB(0x19, 0x19, 0x19).full); dynamic_cast(view).SetStyleForState(STYLE_BACKGROUND_COLOR, - Color::Black().full, UIButton::PRESSED); + Color::GetColorFromRGB(0x19, 0x19, 0x19).full, UIButton::PRESSED); } else if (alarmWeek[num] == SELECT_DATA) { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "alarmWeek[num] = %u", alarmWeek[num]); - view.SetStyle(STYLE_BACKGROUND_COLOR, Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full); + // view.SetStyle(STYLE_BACKGROUND_COLOR, Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full); + // dynamic_cast(view).SetStyleForState(STYLE_BACKGROUND_COLOR, + // Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full, UIButton::PRESSED); + view.SetStyle(STYLE_BACKGROUND_COLOR, Color::GetColorFromRGB(0x4f, 0xc3, 0x4c).full); dynamic_cast(view).SetStyleForState(STYLE_BACKGROUND_COLOR, - Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full, UIButton::PRESSED); + Color::GetColorFromRGB(0x4f, 0xc3, 0x4c).full, UIButton::PRESSED); } } } @@ -475,4 +481,11 @@ bool AlarmStatusBtnChangeListener::OnChange(UICheckBox::UICheckBoxState state) return true; } +void AlarmPresenter::OnSwipe(UISwipeView &view) +{ + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::OnSwipe "); + UNUSED(view); + + return; +} } \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmSetWeekView.cpp b/code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmSetWeekView.cpp index 397430b78..d07ae4ded 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmSetWeekView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmSetWeekView.cpp @@ -10,13 +10,20 @@ #include "components/ui_digital_clock.h" namespace OHOS { -#define MON "星期一" -#define TUE "星期二" -#define WED "星期三" -#define THUR "星期四" -#define FRI "星期五" -#define SAT "星期六" -#define SUN "星期天" +// #define MON "星期一" +// #define TUE "星期二" +// #define WED "星期三" +// #define THUR "星期四" +// #define FRI "星期五" +// #define SAT "星期六" +// #define SUN "星期天" +#define MON "一" +#define TUE "二" +#define WED "三" +#define THUR "四" +#define FRI "五" +#define SAT "六" +#define SUN "日" #define RESPEAT "重复" #define SURE "确认" @@ -48,15 +55,15 @@ constexpr int16_t TIME_LABEL_BUTTON_Y = 360; constexpr int16_t BUTTON_WIDHT3 = 320; constexpr int16_t BUTTON_HEIGHT3 = 101; constexpr int16_t LABEL_WEEK_FONT = 40; -constexpr int16_t BUTTON_WIDHT = 100; -constexpr int16_t BUTTON_HEIGHT = 60; +constexpr int16_t BUTTON_WIDHT = 80; // 100; +constexpr int16_t BUTTON_HEIGHT = 80; // 60; constexpr int16_t BUTTON_FONT = 20; -constexpr int16_t VIEW_POSITION_X = 60; -constexpr int16_t VIEW_POSITION_X2 = 12; -constexpr int16_t WEEK_Y1 = 130; -constexpr int16_t WEEK_Y2 = 210; -constexpr int16_t WEEK_GAP_X = 112; -constexpr int16_t BUTTON_STYLE_BORDER_RADIUS_VALUE = 30; +constexpr int16_t VIEW_POSITION_X = 27; // 60; +constexpr int16_t VIEW_POSITION_X2 = 83; // 12; +constexpr int16_t WEEK_Y1 = 135; // 130; +constexpr int16_t WEEK_Y2 = 245; // 210; +constexpr int16_t WEEK_GAP_X = 110; // 112; +constexpr int16_t BUTTON_STYLE_BORDER_RADIUS_VALUE = 100; // 30; constexpr int16_t FONT_DEFAULT_SIZE = 30; constexpr int16_t WEEK_MON = 1; constexpr int16_t WEEK_TUE = 2; @@ -66,9 +73,13 @@ constexpr int16_t WEEK_FRI = 5; constexpr int16_t WEEK_SAT = 6; constexpr int16_t WEEK_SUN = 0; +#define DEFAULT_BG_COLOR (Color::GetColorFromRGB(0x19, 0x19, 0x19)) +#define SELECTED_BG_COLOR (Color::GetColorFromRGB(0x4f, 0xc3, 0x4c)) + + AlarmSetWeekView::AlarmSetWeekView() { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView::AlarmSetWeekView"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView::AlarmSetWeekView"); g_pAlarmSetWeekView = this; } @@ -86,7 +97,7 @@ AlarmSetWeekView::~AlarmSetWeekView() delete group; group = nullptr; g_pAlarmSetWeekView = nullptr; - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView::~AlarmSetWeekView"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView::~AlarmSetWeekView"); } AlarmSetWeekView *AlarmSetWeekView::GetInstance(void) @@ -113,18 +124,26 @@ UILabelButton *AlarmSetWeekView::CreateUILabelButton(const char *buttonText, int labelButton->SetStyleForState(STYLE_BORDER_RADIUS, BUTTON_STYLE_BORDER_RADIUS_VALUE, UIButton::PRESSED); labelButton->SetStyleForState(STYLE_BORDER_RADIUS, BUTTON_STYLE_BORDER_RADIUS_VALUE, UIButton::INACTIVE); labelButton->SetStyleForState(STYLE_BORDER_RADIUS, BUTTON_STYLE_BORDER_RADIUS_VALUE, UIButton::RELEASED); - labelButton->SetStyleForState(STYLE_BACKGROUND_COLOR, Color::Black().full, UIButton::RELEASED); - labelButton->SetStyleForState(STYLE_BACKGROUND_COLOR, Color::Black().full, UIButton::PRESSED); - labelButton->SetStyleForState(STYLE_BACKGROUND_COLOR, Color::Black().full, UIButton::INACTIVE); + // labelButton->SetStyleForState(STYLE_BACKGROUND_COLOR, Color::Black().full, UIButton::RELEASED); + // labelButton->SetStyleForState(STYLE_BACKGROUND_COLOR, Color::Black().full, UIButton::PRESSED); + // labelButton->SetStyleForState(STYLE_BACKGROUND_COLOR, Color::Black().full, UIButton::INACTIVE); + labelButton->SetStyleForState(STYLE_BACKGROUND_COLOR, DEFAULT_BG_COLOR.full, UIButton::RELEASED); + labelButton->SetStyleForState(STYLE_BACKGROUND_COLOR, DEFAULT_BG_COLOR.full, UIButton::PRESSED); + labelButton->SetStyleForState(STYLE_BACKGROUND_COLOR, DEFAULT_BG_COLOR.full, UIButton::INACTIVE); labelButton->SetStyleForState(STYLE_BORDER_WIDTH, VIEW_BORDER_SIZE, UIButton::RELEASED); labelButton->SetStyleForState(STYLE_BORDER_WIDTH, VIEW_BORDER_SIZE, UIButton::PRESSED); labelButton->SetStyleForState(STYLE_BORDER_WIDTH, VIEW_BORDER_SIZE, UIButton::INACTIVE); - labelButton->SetStyleForState(STYLE_BORDER_COLOR, Color::White().full, UIButton::RELEASED); - labelButton->SetStyleForState(STYLE_BORDER_COLOR, Color::White().full, UIButton::PRESSED); - labelButton->SetStyleForState(STYLE_BORDER_COLOR, Color::White().full, UIButton::INACTIVE); - labelButton->SetStyle(STYLE_BACKGROUND_COLOR, Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full); + // labelButton->SetStyleForState(STYLE_BORDER_COLOR, Color::White().full, UIButton::RELEASED); + // labelButton->SetStyleForState(STYLE_BORDER_COLOR, Color::White().full, UIButton::PRESSED); + // labelButton->SetStyleForState(STYLE_BORDER_COLOR, Color::White().full, UIButton::INACTIVE); + labelButton->SetStyleForState(STYLE_BORDER_COLOR, Color::Black().full, UIButton::RELEASED); + labelButton->SetStyleForState(STYLE_BORDER_COLOR, Color::Black().full, UIButton::PRESSED); + labelButton->SetStyleForState(STYLE_BORDER_COLOR, Color::Black().full, UIButton::INACTIVE); + // labelButton->SetStyle(STYLE_BACKGROUND_COLOR, Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full); + labelButton->SetStyle(STYLE_BACKGROUND_COLOR, DEFAULT_BG_COLOR.full); labelButton->SetStyle(STYLE_BORDER_WIDTH, VIEW_BORDER_SIZE); - labelButton->SetStyle(STYLE_BORDER_COLOR, Color::White().full); + // labelButton->SetStyle(STYLE_BORDER_COLOR, Color::White().full); + labelButton->SetStyle(STYLE_BORDER_COLOR, Color::Black().full); labelButton->Resize(BUTTON_WIDHT, BUTTON_HEIGHT); return labelButton; @@ -134,6 +153,17 @@ void AlarmSetWeekView::CreateWeekButton1(void) { int viewPositionX = VIEW_POSITION_X; // 60 150 UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::AlarmPresenter::GetInstance(); + + buttonWeek[WEEK_SUN] = CreateUILabelButton(SUN, viewPositionX, WEEK_Y1); + if (buttonWeek[WEEK_SUN] == nullptr) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView:: new buttonSun fail"); + return; + } + group->Add(buttonWeek[WEEK_SUN]); + buttonWeek[WEEK_SUN]->SetOnClickListener(clickListener); + buttonWeek[WEEK_SUN]->SetViewId(SUNDAY); + viewPositionX += WEEK_GAP_X; + buttonWeek[WEEK_MON] = CreateUILabelButton(MON, viewPositionX, WEEK_Y1); if (buttonWeek[WEEK_MON] == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView:: new buttonMon fail"); @@ -199,14 +229,14 @@ void AlarmSetWeekView::CreateWeekButton2(void) buttonWeek[WEEK_SAT]->SetViewId(SATURDAY); viewPositionX2 += WEEK_GAP_X; - buttonWeek[WEEK_SUN] = CreateUILabelButton(SUN, viewPositionX2, WEEK_Y2); - if (buttonWeek[WEEK_SUN] == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView:: new buttonSun fail"); - return; - } - group->Add(buttonWeek[WEEK_SUN]); - buttonWeek[WEEK_SUN]->SetOnClickListener(clickListener); - buttonWeek[WEEK_SUN]->SetViewId(SUNDAY); + // buttonWeek[WEEK_SUN] = CreateUILabelButton(SUN, viewPositionX2, WEEK_Y2); + // if (buttonWeek[WEEK_SUN] == nullptr) { + // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView:: new buttonSun fail"); + // return; + // } + // group->Add(buttonWeek[WEEK_SUN]); + // buttonWeek[WEEK_SUN]->SetOnClickListener(clickListener); + // buttonWeek[WEEK_SUN]->SetViewId(SUNDAY); } void AlarmSetWeekView::SetLabelButton(void) @@ -221,24 +251,34 @@ void AlarmSetWeekView::SetLabelButton(void) WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView:: new weekImage fail"); return; } - weekImage->SetPosition(TIME_LABEL_BUTTON_X, TIME_LABEL_BUTTON_Y, BUTTON_WIDHT3, BUTTON_HEIGHT3); + // weekImage->SetPosition(TIME_LABEL_BUTTON_X, TIME_LABEL_BUTTON_Y, BUTTON_WIDHT3, BUTTON_HEIGHT3); + // weekImage->SetText(SURE); + // weekImage->SetTouchable(true); + // weekImage->SetViewId(ALARM_WEEK_OK); + // weekImage->SetFont(DEFAULT_VECTOR_FONT_FILENAME, LABEL_WEEK_FONT); + + weekImage->SetPosition(0, 366, 466, 100); + weekImage->SetViewId(ALARM_WEEK_OK); weekImage->SetText(SURE); + weekImage->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); + weekImage->SetTextColor(Color::GetColorFromRGBA(0xff, 0xff, 0xff, 0xff)); + weekImage->SetImageSrc(PNG_BUTTON_466x100_IMAGE, PNG_BUTTON_466x100_IMAGE); + weekImage->SetStyleForState(STYLE_BACKGROUND_COLOR, 0x00, UIButton::PRESSED); weekImage->SetTouchable(true); - weekImage->SetViewId(ALARM_WEEK_OK); - weekImage->SetFont(DEFAULT_VECTOR_FONT_FILENAME, LABEL_WEEK_FONT); + if (OHOS::AlarmPresenter::GetInstance() == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView:: new ShadowBlue fail"); return; } - weekImage->SetTextColor(OHOS::AlarmPresenter::GetInstance()->ShadowBlue()); + // weekImage->SetTextColor(OHOS::AlarmPresenter::GetInstance()->ShadowBlue()); weekImage->SetOnClickListener(clickListener); - weekImage->SetImageSrc(PNG_NEW_DEVICE, PNG_NEW_DEVICE); + // weekImage->SetImageSrc(PNG_NEW_DEVICE, PNG_NEW_DEVICE); group->Add(weekImage); } UIScrollView *AlarmSetWeekView::InitSetWeekView() { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView::InitSetWeekView"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView::InitSetWeekView"); group = new UIScrollView(); if (group == nullptr) { @@ -254,8 +294,13 @@ UIScrollView *AlarmSetWeekView::InitSetWeekView() } group->Add(labelRespeat); labelRespeat->SetText(RESPEAT); - labelRespeat->SetFont(DEFAULT_VECTOR_FONT_FILENAME, DEFAULT_FONT); - labelRespeat->SetPosition(TITLE_X, TITLE_Y, HORIZONTAL_RESOLUTION / 2, LABEL_POSITION_SIZE); + // labelRespeat->SetFont(DEFAULT_VECTOR_FONT_FILENAME, DEFAULT_FONT); + // labelRespeat->SetPosition(TITLE_X, TITLE_Y, HORIZONTAL_RESOLUTION / 2, LABEL_POSITION_SIZE); + labelRespeat->SetPosition(83, 50, 300, 35); + labelRespeat->SetStyle(STYLE_TEXT_FONT, 30); + labelRespeat->SetStyle(STYLE_LINE_HEIGHT, 35); + labelRespeat->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); + labelRespeat->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); CreateWeekButton1(); CreateWeekButton2(); @@ -274,49 +319,51 @@ UIScrollView *AlarmSetWeekView::InitSetWeekView() void AlarmSetWeekView::RefreshSetWeek1(void) { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView::RefreshStep1"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView::RefreshStep1"); if (buttonWeek[WEEK_MON] == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView::RefreshStep1 buttonMon nullptr error!"); return; } - buttonWeek[WEEK_MON]->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full); - buttonWeek[WEEK_MON]->SetStyleForState(STYLE_BACKGROUND_COLOR, Color::Black().full, UIButton::PRESSED); + // buttonWeek[WEEK_MON]->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full); + // buttonWeek[WEEK_MON]->SetStyleForState(STYLE_BACKGROUND_COLOR, Color::Black().full, UIButton::PRESSED); + buttonWeek[WEEK_MON]->SetStyle(STYLE_BACKGROUND_COLOR, DEFAULT_BG_COLOR.full); + buttonWeek[WEEK_MON]->SetStyleForState(STYLE_BACKGROUND_COLOR, DEFAULT_BG_COLOR.full, UIButton::PRESSED); if (buttonWeek[WEEK_TUE] == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView::RefreshStep1 buttonTue nullptr error!"); return; } - buttonWeek[WEEK_TUE]->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full); - buttonWeek[WEEK_TUE]->SetStyleForState(STYLE_BACKGROUND_COLOR, Color::Black().full, UIButton::PRESSED); + buttonWeek[WEEK_TUE]->SetStyle(STYLE_BACKGROUND_COLOR, DEFAULT_BG_COLOR.full); + buttonWeek[WEEK_TUE]->SetStyleForState(STYLE_BACKGROUND_COLOR, DEFAULT_BG_COLOR.full, UIButton::PRESSED); if (buttonWeek[WEEK_WED] == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView::RefreshStep1 buttonWed nullptr error!"); return; } - buttonWeek[WEEK_WED]->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full); - buttonWeek[WEEK_WED]->SetStyleForState(STYLE_BACKGROUND_COLOR, Color::Black().full, UIButton::PRESSED); + buttonWeek[WEEK_WED]->SetStyle(STYLE_BACKGROUND_COLOR, DEFAULT_BG_COLOR.full); + buttonWeek[WEEK_WED]->SetStyleForState(STYLE_BACKGROUND_COLOR, DEFAULT_BG_COLOR.full, UIButton::PRESSED); if (buttonWeek[WEEK_THUR] == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView::RefreshStep1 buttonThur nullptr error!"); return; } - buttonWeek[WEEK_THUR]->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full); - buttonWeek[WEEK_THUR]->SetStyleForState(STYLE_BACKGROUND_COLOR, Color::Black().full, UIButton::PRESSED); + buttonWeek[WEEK_THUR]->SetStyle(STYLE_BACKGROUND_COLOR, DEFAULT_BG_COLOR.full); + buttonWeek[WEEK_THUR]->SetStyleForState(STYLE_BACKGROUND_COLOR, DEFAULT_BG_COLOR.full, UIButton::PRESSED); if (buttonWeek[WEEK_FRI] == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView::RefreshStep1 buttonFri nullptr error!"); return; } - buttonWeek[WEEK_FRI]->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full); - buttonWeek[WEEK_FRI]->SetStyleForState(STYLE_BACKGROUND_COLOR, Color::Black().full, UIButton::PRESSED); + buttonWeek[WEEK_FRI]->SetStyle(STYLE_BACKGROUND_COLOR, DEFAULT_BG_COLOR.full); + buttonWeek[WEEK_FRI]->SetStyleForState(STYLE_BACKGROUND_COLOR, DEFAULT_BG_COLOR.full, UIButton::PRESSED); if (buttonWeek[WEEK_SAT] == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView::RefreshStep1 buttonSat nullptr error!"); return; } - buttonWeek[WEEK_SAT]->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full); - buttonWeek[WEEK_SAT]->SetStyleForState(STYLE_BACKGROUND_COLOR, Color::Black().full, UIButton::PRESSED); + buttonWeek[WEEK_SAT]->SetStyle(STYLE_BACKGROUND_COLOR, DEFAULT_BG_COLOR.full); + buttonWeek[WEEK_SAT]->SetStyleForState(STYLE_BACKGROUND_COLOR, DEFAULT_BG_COLOR.full, UIButton::PRESSED); if (buttonWeek[WEEK_SUN] == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView::RefreshStep1 buttonSun nullptr error!"); return; } - buttonWeek[WEEK_SUN]->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full); - buttonWeek[WEEK_SUN]->SetStyleForState(STYLE_BACKGROUND_COLOR, Color::Black().full, UIButton::PRESSED); + buttonWeek[WEEK_SUN]->SetStyle(STYLE_BACKGROUND_COLOR, DEFAULT_BG_COLOR.full); + buttonWeek[WEEK_SUN]->SetStyleForState(STYLE_BACKGROUND_COLOR, DEFAULT_BG_COLOR.full, UIButton::PRESSED); } void AlarmSetWeekView::RefreshSetWeek2(uint8_t week) @@ -329,31 +376,32 @@ void AlarmSetWeekView::RefreshSetWeek2(uint8_t week) } WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView:: week = %u", week); if ((week & 0x01) == 1) { // 判断星期天的位数是否为1 - buttonWeek[WEEK_SUN]->SetStyle(STYLE_BACKGROUND_COLOR, Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full); + // buttonWeek[WEEK_SUN]->SetStyle(STYLE_BACKGROUND_COLOR, Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full); buttonWeek[WEEK_SUN]->SetStyle(STYLE_BACKGROUND_COLOR, Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full); + buttonWeek[WEEK_SUN]->SetStyle(STYLE_BACKGROUND_COLOR, SELECTED_BG_COLOR.full); AlarmPresenter::GetInstance()->alarmWeek[WEEK_SUN] = 1; } if ((week & 0x02) == 0x02) { // 判断星期一的位数是否为1 - buttonWeek[WEEK_MON]->SetStyle(STYLE_BACKGROUND_COLOR, Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full); + buttonWeek[WEEK_MON]->SetStyle(STYLE_BACKGROUND_COLOR, SELECTED_BG_COLOR.full); AlarmPresenter::GetInstance()->alarmWeek[WEEK_MON] = 1; } if ((week & 0x04) == 0x04) { // 判断星期二的位数是否为1 - buttonWeek[WEEK_TUE]->SetStyle(STYLE_BACKGROUND_COLOR, Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full); + buttonWeek[WEEK_TUE]->SetStyle(STYLE_BACKGROUND_COLOR, SELECTED_BG_COLOR.full); AlarmPresenter::GetInstance()->alarmWeek[WEEK_TUE] = 1; } if ((week & 0x08) == 0x08) { // 判断星期三的位数是否为1 - buttonWeek[WEEK_WED]->SetStyle(STYLE_BACKGROUND_COLOR, Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full); + buttonWeek[WEEK_WED]->SetStyle(STYLE_BACKGROUND_COLOR, SELECTED_BG_COLOR.full); AlarmPresenter::GetInstance()->alarmWeek[WEEK_WED] = 1; } if ((week & 0x10) == 0x10) { // 判断星期四的位数是否为1 - buttonWeek[WEEK_THUR]->SetStyle(STYLE_BACKGROUND_COLOR, Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full); + buttonWeek[WEEK_THUR]->SetStyle(STYLE_BACKGROUND_COLOR, SELECTED_BG_COLOR.full); AlarmPresenter::GetInstance()->alarmWeek[WEEK_THUR] = 1; } if ((week & 0x20) == 0x20) { // 判断星期五的位数是否为1 - buttonWeek[WEEK_FRI]->SetStyle(STYLE_BACKGROUND_COLOR, Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full); + buttonWeek[WEEK_FRI]->SetStyle(STYLE_BACKGROUND_COLOR, SELECTED_BG_COLOR.full); AlarmPresenter::GetInstance()->alarmWeek[WEEK_FRI] = 1; } if ((week & 0x40) == 0x40) { // 判断星期六的位数是否为1 - buttonWeek[WEEK_SAT]->SetStyle(STYLE_BACKGROUND_COLOR, Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full); + buttonWeek[WEEK_SAT]->SetStyle(STYLE_BACKGROUND_COLOR, SELECTED_BG_COLOR.full); AlarmPresenter::GetInstance()->alarmWeek[WEEK_SAT] = 1; } } diff --git a/code/sdk/application/wearable/fd230app/nativeui/alarm/src/MainAlarmView.cpp b/code/sdk/application/wearable/fd230app/nativeui/alarm/src/MainAlarmView.cpp index b21b50498..fafef3720 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/alarm/src/MainAlarmView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/alarm/src/MainAlarmView.cpp @@ -9,6 +9,7 @@ #include "UiConfig.h" #include "ui_label_button.h" #include "PhoneService.h" +#include "ui_resource_string.h" namespace OHOS { static MainAlarmView *g_MainAlarmView = nullptr; @@ -43,8 +44,8 @@ constexpr int16_t STATUS_BUTTON_Y = 210; constexpr int16_t STATUS_BUTTON_W = 90; constexpr int16_t STATUS_BUTTON_H = 90; constexpr int16_t D_CLOCK_X = 80; -constexpr int16_t D_CLOCK_FONT_SIZE = 55; -constexpr int16_t D_CLOCK_LABEL_FONT = 25; +constexpr int16_t D_CLOCK_FONT_SIZE = 40; // 55; +constexpr int16_t D_CLOCK_LABEL_FONT = 30; // 25; constexpr int16_t POSITION_ADD_Y = 110; constexpr int16_t POSITION_BUTTON_ADD_Y = 85; constexpr int16_t LABEL_SEMITRANSPARENT = 128; @@ -65,8 +66,8 @@ MainAlarmView::~MainAlarmView() alarmMin = 0; dClockNum = 0; weekStatus = 0; - delete addButton; - addButton = nullptr; + // delete addButton; + // addButton = nullptr; delete group; group = nullptr; delete configView; @@ -79,21 +80,79 @@ MainAlarmView::~MainAlarmView() judgeView = nullptr; delete newTimeView; newTimeView = nullptr; - for (int alarmNum = SET_ZERO; alarmNum <= SET_FIVE; alarmNum++) { - if (dClock[alarmNum] != nullptr) { - delete dClock[alarmNum]; - dClock[alarmNum] = nullptr; - } - if (statusButton[alarmNum] != nullptr) { - delete statusButton[alarmNum]; - statusButton[alarmNum] = nullptr; - } - if (dLabel[alarmNum] != nullptr) { - delete dLabel[alarmNum]; - dLabel[alarmNum] = nullptr; + // for (int alarmNum = SET_ZERO; alarmNum <= SET_FIVE; alarmNum++) { + // if (dClock[alarmNum] != nullptr) { + // delete dClock[alarmNum]; + // dClock[alarmNum] = nullptr; + // } + // if (statusButton[alarmNum] != nullptr) { + // delete statusButton[alarmNum]; + // statusButton[alarmNum] = nullptr; + // } + // if (dLabel[alarmNum] != nullptr) { + // delete dLabel[alarmNum]; + // dLabel[alarmNum] = nullptr; + // } + // container[alarmNum] = nullptr; + // } + + if(nullptr != TitleLabelExt_) + { + delete TitleLabelExt_; + TitleLabelExt_ = nullptr; + } + if(nullptr != AddButton_) + { + delete AddButton_; + AddButton_ = nullptr; + } + for (int alarmNum = SET_ZERO; alarmNum <= SET_FIVE; alarmNum++) + { + if(nullptr != SwipeView_[alarmNum]) + { + SwipeView_[alarmNum]->RemoveAll(); + + if(nullptr != SwipeViewItem_[alarmNum][0]) + { + SwipeViewItem_[alarmNum][0]->RemoveAll(); + + if (dClock[alarmNum] != nullptr) { + delete dClock[alarmNum]; + dClock[alarmNum] = nullptr; + } + if (statusButton[alarmNum] != nullptr) { + delete statusButton[alarmNum]; + statusButton[alarmNum] = nullptr; + } + if (dLabel[alarmNum] != nullptr) { + delete dLabel[alarmNum]; + dLabel[alarmNum] = nullptr; + } + + delete SwipeViewItem_[alarmNum][0]; + SwipeViewItem_[alarmNum][0] = nullptr; + } + + if(nullptr != SwipeViewItem_[alarmNum][1]) + { + SwipeViewItem_[alarmNum][1]->RemoveAll(); + + if (nullptr != DeleteButton_[alarmNum]) + { + delete DeleteButton_[alarmNum]; + DeleteButton_[alarmNum] = nullptr; + } + + delete SwipeViewItem_[alarmNum][1]; + SwipeViewItem_[alarmNum][1] = nullptr; + } + + delete SwipeView_[alarmNum]; + SwipeView_[alarmNum] = nullptr; } container[alarmNum] = nullptr; } + g_MainAlarmView = nullptr; WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainAlarmView::~MainAlarmView"); } @@ -103,77 +162,204 @@ MainAlarmView *MainAlarmView::GetInstance(void) return g_MainAlarmView; } -void MainAlarmView::CreateImage(void) +// void MainAlarmView::CreateImage(void) +// { + // UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::AlarmPresenter::GetInstance(); + + // addButton = new UIImageView(); + // if (addButton == nullptr) { + // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainAlarmView:: new addButton fail"); + // return; + // } + // addButton->SetPosition(ADD_BUTTON_X, ADD_BUTTON_Y); + // addButton->SetWidth(ADD_BUTTON_W); + // addButton->SetHeight(ADD_BUTTON_H); + // addButton->SetSrc(ALARM_ADD_BUTTON_PATH); + // addButton->SetViewId(ADD_BUTTON); + // addButton->SetTouchable(true); + // addButton->SetOnClickListener(clickListener); + // group->Add(addButton); +// } + +void MainAlarmView::AlarmTitleCreate(void) { - UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::AlarmPresenter::GetInstance(); + if(nullptr == TitleLabelExt_) + { + TitleLabelExt_ = new UILabelExt(); + if(nullptr == TitleLabelExt_) + return; - addButton = new UIImageView(); - if (addButton == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainAlarmView:: new addButton fail"); - return; + TitleLabelExt_->SetPosition(83, 50, 300, 35); + TitleLabelExt_->SetStyle(STYLE_TEXT_FONT, 30); + TitleLabelExt_->SetStyle(STYLE_LINE_HEIGHT, 35); + TitleLabelExt_->SetTextId(STR_ALARM); + TitleLabelExt_->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION); + TitleLabelExt_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); + TitleLabelExt_->SetRollSpeed(70); + TitleLabelExt_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); + + group->Add(TitleLabelExt_); } - addButton->SetPosition(ADD_BUTTON_X, ADD_BUTTON_Y); - addButton->SetWidth(ADD_BUTTON_W); - addButton->SetHeight(ADD_BUTTON_H); - addButton->SetSrc(ALARM_ADD_BUTTON_PATH); - addButton->SetViewId(ADD_BUTTON); - addButton->SetTouchable(true); - addButton->SetOnClickListener(clickListener); - group->Add(addButton); } -void MainAlarmView::NewClockCtl(int16_t alarmNum) +void MainAlarmView::AlarmAddButtonCreate(void) { - UIView::OnClickListener *clockListener = (UIView::OnClickListener *)OHOS::AlarmPresenter::GetInstance(); - dClock[alarmNum] = new UIDigitalClock(); - if (dClock[alarmNum] == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainAlarmView:: new dClock fail"); - return; + if(nullptr == AddButton_) + { + AddButton_ = new UILabelButtonExt(); + if(nullptr == AddButton_) + return; + + AddButton_->SetPosition(43, 0, 380, 100); + AddButton_->SetViewId(ADD_BUTTON); + AddButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919); + AddButton_->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE); + AddButton_->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff191919, UIButton::PRESSED); + AddButton_->SetStyleForState(STYLE_BACKGROUND_OPA, OPA_OPAQUE, UIButton::PRESSED); + AddButton_->SetStyle(STYLE_BORDER_RADIUS, 100); + AddButton_->SetStyle(STYLE_TEXT_FONT, 30); + AddButton_->SetStyle(STYLE_LINE_HEIGHT, 35); + AddButton_->SetTextId(STR_ADD_A_NEW_ALARM); + // AddButton_->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION); + // AddButton_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); + // AddButton_->SetRollSpeed(70); + AddButton_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); + UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::AlarmPresenter::GetInstance(); + AddButton_->SetOnClickListener(clickListener); + + group->Add(AddButton_); } - dClock[alarmNum]->SetViewId(ALARM_CLOCK[alarmNum]); - dClock[alarmNum]->SetTouchable(true); - dClock[alarmNum]->SetOnClickListener(clockListener); - if (alarmNum == 0) { - dClock[0]->SetPosition(D_CLOCK_X, alarmPositionY, ALARM_CLOCK_WIDTH, ALARM_CLOCK_HEIGHT); - } else { - dClock[alarmNum]->SetPosition(D_CLOCK_X, dClock[0]->GetY() + (alarmInterval * alarmNum), ALARM_CLOCK_WIDTH, ALARM_CLOCK_HEIGHT); - } - dClock[alarmNum]->SetFont(DEFAULT_VECTOR_FONT_FILENAME, D_CLOCK_FONT_SIZE); - dClock[alarmNum]->SetDisplayMode(UIDigitalClock::DISPLAY_24_HOUR_NO_SECONDS); - group->Add(dClock[alarmNum]); +} - dLabel[alarmNum] = new UILabel(); - if (dLabel[alarmNum] == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainAlarmView:: new dLabel fail"); - return; - } - if (alarmNum == 0) { - dLabel[0]->SetPosition(D_CLOCK_X, labelPositionY, ALARM_CLOCK_WIDTH, WEEK_LABEL_HEIGHT); - } else { - dLabel[alarmNum]->SetPosition(D_CLOCK_X, dLabel[0]->GetY() + (alarmInterval * alarmNum), ALARM_CLOCK_WIDTH, WEEK_LABEL_HEIGHT); - } - group->Add(dLabel[alarmNum]); +void MainAlarmView::AlarmAddButtonUpdate(uint8_t count) +{ + if(nullptr == AddButton_) + return; - statusButton[alarmNum] = new UIToggleButton(); - if (statusButton[alarmNum] == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainAlarmView:: new statusButton[alarmNum] fail"); - return; + // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]: 0_y=%d", __LINE__, SwipeView_[0]->GetY()); + AddButton_->SetY(SwipeView_[0]->GetY() + (alarmInterval * count)); +} + +UIViewGroup * MainAlarmView::NewClockCtlExt(int16_t alarmNum, uint8_t index) +{ + UIViewGroup * TempGroup_ = new UIViewGroup(); + if(nullptr == TempGroup_) + return nullptr; + + if(0 == index) + { + TempGroup_->SetPosition(0, 0, 380, 100); + TempGroup_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919); + TempGroup_->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE); + TempGroup_->SetStyle(STYLE_BORDER_RADIUS, 100); + + // UIView::OnClickListener *clockListener = (UIView::OnClickListener *)OHOS::AlarmPresenter::GetInstance(); + dClock[alarmNum] = new UIDigitalClock(); + if (dClock[alarmNum] == nullptr) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainAlarmView:: new dClock fail"); + return nullptr; + } + dClock[alarmNum]->SetViewId(ALARM_CLOCK[alarmNum]); + dClock[alarmNum]->SetTouchable(true); + // dClock[alarmNum]->SetOnClickListener(clockListener); + dClock[alarmNum]->SetPosition(50, 10, 110, 50); + dClock[alarmNum]->SetFont(DEFAULT_VECTOR_FONT_FILENAME, D_CLOCK_FONT_SIZE); + dClock[alarmNum]->SetDisplayMode(UIDigitalClock::DISPLAY_24_HOUR_NO_SECONDS); + + dLabel[alarmNum] = new UILabel(); + if (dLabel[alarmNum] == nullptr) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainAlarmView:: new dLabel fail"); + return nullptr; + } + dLabel[alarmNum]->SetPosition(50, 60, 200, 35); + dLabel[alarmNum]->SetFont(DEFAULT_VECTOR_FONT_FILENAME, D_CLOCK_LABEL_FONT); + dLabel[alarmNum]->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION); + dLabel[alarmNum]->SetRollSpeed(70); + + statusButton[alarmNum] = new UIToggleButton(); + if (statusButton[alarmNum] == nullptr) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainAlarmView:: new statusButton[alarmNum] fail"); + return nullptr; + } + statusButton[alarmNum]->SetViewId(ALARM_STATUS[alarmNum]); + statusButton[alarmNum]->SetPosition(250, 15, 120, 70); + statusButton[alarmNum]->SetImages(PNG_TOGGLEBUTTON_ON_IMAGE, PNG_TOGGLEBUTTON_OFF_IMAGE); + // statusButton[alarmNum]->SetStyle(STYLE_BACKGROUND_OPA, alarmNum); + // statusButton[alarmNum]->SetStyle(STYLE_BACKGROUND_COLOR, 0xff29b862); + // statusButton[alarmNum]->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE); + UICheckBox::OnChangeListener *statusListener{nullptr}; + statusListener = new AlarmStatusBtnChangeListener(reinterpret_cast(statusButton[alarmNum])); + if (statusListener == nullptr) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainAlarmView::NewStatusButton statusListener nullptr!"); + return nullptr; + } + statusButton[alarmNum]->SetOnChangeListener((UICheckBox::OnChangeListener *)statusListener); + + TempGroup_->Add(dClock[alarmNum]); + TempGroup_->Add(dLabel[alarmNum]); + TempGroup_->Add(statusButton[alarmNum]); } - statusButton[alarmNum]->SetViewId(ALARM_STATUS[alarmNum]); - if (alarmNum == 0) { - statusButton[0]->SetPosition(STATUS_BUTTON_X, alarmPositionY, STATUS_BUTTON_W, STATUS_BUTTON_H); - } else { - statusButton[alarmNum]->SetPosition(STATUS_BUTTON_X, statusButton[0]->GetY() + (alarmInterval * alarmNum), STATUS_BUTTON_W, STATUS_BUTTON_H); + else + { + TempGroup_->SetPosition(0, 0, 100 + 10, 100); + TempGroup_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919); + TempGroup_->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE); + TempGroup_->SetStyle(STYLE_BORDER_RADIUS, 100); + + DeleteButton_[alarmNum] = new UILabelButtonExt(); + if(nullptr == DeleteButton_[alarmNum]) + return nullptr; + + DeleteButton_[alarmNum]->SetPosition(10, 0, 100, 100); + DeleteButton_[alarmNum]->SetViewId(ALARM_ITEM_DELETE[alarmNum]); + DeleteButton_[alarmNum]->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff); + DeleteButton_[alarmNum]->SetStyle(STYLE_BACKGROUND_OPA, 25); // 10% + DeleteButton_[alarmNum]->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xffffffff, UIButton::PRESSED); + DeleteButton_[alarmNum]->SetStyleForState(STYLE_BACKGROUND_OPA, 25, UIButton::PRESSED); + DeleteButton_[alarmNum]->SetStyle(STYLE_BORDER_RADIUS, 100); + DeleteButton_[alarmNum]->SetImagePosition(0, 0); + DeleteButton_[alarmNum]->SetImageSrc(ALARM_DELETE_IMAGE, ALARM_DELETE_IMAGE); + DeleteButton_[alarmNum]->SetOnClickListener(presenter_); + + TempGroup_->Add(DeleteButton_[alarmNum]); } - statusButton[alarmNum]->SetStyle(STYLE_BACKGROUND_OPA, alarmNum); - UICheckBox::OnChangeListener *statusListener{nullptr}; - statusListener = new AlarmStatusBtnChangeListener(reinterpret_cast(statusButton[alarmNum])); - if (statusListener == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainAlarmView::NewStatusButton statusListener nullptr!"); - return; + + return TempGroup_; +} + +void MainAlarmView::NewClockCtl(int16_t alarmNum) +{ + SwipeView_[alarmNum] = new UISwipeView(UISwipeView::HORIZONTAL); + if (0 == alarmNum) + { + SwipeView_[alarmNum]->SetPosition(43, 120, 380, 100); + } else + { + SwipeView_[alarmNum]->SetPosition(43, SwipeView_[0]->GetY() + (alarmInterval * alarmNum), 380, 100); } - statusButton[alarmNum]->SetOnChangeListener((UICheckBox::OnChangeListener *)statusListener); - group->Add(statusButton[alarmNum]); + // SwipeView_[alarmNum]->SetViewId(ITEM_SWIPE[alarmNum]); + SwipeView_[alarmNum]->SetTouchable(true); + SwipeView_[alarmNum]->SetThrowDrag(true); + // SwipeView_[alarmNum]->SetOnDragListener(presenter_); + SwipeView_[alarmNum]->SetOnSwipeListener(presenter_); + SwipeView_[alarmNum]->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919); + SwipeView_[alarmNum]->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE); + SwipeView_[alarmNum]->SetStyle(STYLE_BORDER_RADIUS, 100); + // SwipeView_[alarmNum]->SetBlankSize(0); + // SwipeView_[alarmNum]->SetReboundSize(30); // 200: rebound size + // SwipeView_[alarmNum]->SetElastic(true); + + SwipeViewItem_[alarmNum][0] = NewClockCtlExt(alarmNum, 0); + SwipeViewItem_[alarmNum][1] = NewClockCtlExt(alarmNum, 1); + + SwipeView_[alarmNum]->Add(SwipeViewItem_[alarmNum][0]); + SwipeView_[alarmNum]->Add(SwipeViewItem_[alarmNum][1]); + + SwipeView_[alarmNum]->SetCurrentPage(0); + SwipeView_[alarmNum]->SetIntercept(false); + SwipeView_[alarmNum]->SetLoopState(false); + + group->Add(SwipeView_[alarmNum]); } void MainAlarmView::LabelGetWeek(uint8_t week, int16_t alarmNum) @@ -243,10 +429,12 @@ void MainAlarmView::OnStart() WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainAlarmView:: new group fail"); return; } - group->SetPosition(CONTAINER_X, CONTAINER_Y, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION); - UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::AlarmPresenter::GetInstance(); - CreateImage(); + // group->SetPosition(CONTAINER_X, CONTAINER_Y, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION); + group->SetPosition(0, 30, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight() - 60); + UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::AlarmPresenter::GetInstance(); + // CreateImage(); + group->SetScrollBlankSize(30); group->SetTouchable(true); group->SetDraggable(true); UIView::OnDragListener *alarmDragListener = (UIView::OnDragListener *)OHOS::AlarmPresenter::GetInstance(); @@ -261,7 +449,11 @@ void MainAlarmView::OnSetUpView() { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainAlarmView::OnSetUpView"); View::OnSetUpView(); - OHOS::AlarmClockModel::GetInstance()->InitAlarmData(); + + AlarmTitleCreate(); + AlarmAddButtonCreate(); + + // OHOS::AlarmClockModel::GetInstance()->InitAlarmData(); RefreshAlarm(); if (group != nullptr) { container[0] = group; @@ -331,21 +523,53 @@ void MainAlarmView::RefreshAlarm(void) RefreshAlarmStatus(alarmEnable, i); dClock[i]->SetTime24Hour(refreshHour, refreshMin, 0); } - group->ScrollBy(0, ADD_BUTTON_Y - addButton->GetY()); + // group->ScrollBy(0, ADD_BUTTON_Y - addButton->GetY()); if (dClockNum > (i - 1)) { - group->Remove(dClock[dClockNum]); + // group->Remove(dClock[dClockNum]); + // delete dClock[dClockNum]; + // dClock[dClockNum] = nullptr; + + // group->Remove(statusButton[dClockNum]); + // delete statusButton[dClockNum]; + // statusButton[dClockNum] = nullptr; + + // group->Remove(dLabel[dClockNum]); + // delete dLabel[dClockNum]; + // dLabel[dClockNum] = nullptr; + + group->Remove(SwipeView_[dClockNum]); + + // 0 + SwipeView_[dClockNum]->RemoveAll(); + + SwipeViewItem_[dClockNum][0]->RemoveAll(); delete dClock[dClockNum]; dClock[dClockNum] = nullptr; - group->Remove(statusButton[dClockNum]); delete statusButton[dClockNum]; statusButton[dClockNum] = nullptr; - group->Remove(dLabel[dClockNum]); delete dLabel[dClockNum]; dLabel[dClockNum] = nullptr; + + delete SwipeViewItem_[dClockNum][0]; + SwipeViewItem_[dClockNum][0] = nullptr; + + // 1 + SwipeViewItem_[dClockNum][1]->RemoveAll(); + delete DeleteButton_[dClockNum]; + DeleteButton_[dClockNum] = nullptr; + + delete SwipeViewItem_[dClockNum][1]; + SwipeViewItem_[dClockNum][1] = nullptr; + + delete SwipeView_[dClockNum]; + SwipeView_[dClockNum] = nullptr; } dClockNum = i - 1; + + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]: dClockNum=%d", __LINE__, dClockNum); + AlarmAddButtonUpdate(i); } bool MainAlarmView::ChangeMainAlarm(int16_t thisView) diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/Alarm/alarm_delete.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/Alarm/alarm_delete.bin new file mode 100644 index 000000000..a14a562b5 --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/Alarm/alarm_delete.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:987a6968d47e9b5b26cc7def3979413af3582be38308de080d95e8d5ea96cddd +size 6824 -- 2.17.1