* @Author: luozheng 1732036298@qq.com
* @Date: 2024-04-17 15:26:49
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-08-29 09:44:02
+ * @LastEditTime: 2024-10-08 11:12:47
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/include/PullUpDownView.h
*/
UIBoxProgress *GetProgress();
UILabel *GetDateAndWeekLabel(void);
void UpdateSignalStrengthStatusAndBatteryPosition();
+ void UpdateBatteryProcess();
private:
void InitBaseData();
UIImageView *batteryimage{nullptr}; // 电池图片
UIBoxProgress *progress{nullptr}; // 电池进度条
UILabel *showDateAndWeekLabel{nullptr}; // 显示日期和星期
+ UIImageView *chargeBatteryicon{nullptr}; //充电图标
+ bool isChargeBatteryIconVisible{false}; // 充电图标是否可见
/* ---------------------------------- 3.滑动列表 ---------------------------------- */
public:
AppGroupView *DropDownCardPage1Init(void);
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-06-26 18:14:24
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-10-05 10:40:04
+ * @LastEditTime: 2024-10-08 15:14:16
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/src/PullUpDownView.cpp
*/
progress->SetForegroundStyle(STYLE_LINE_COLOR, 0xff45A5FF);
group1->Add(progress);
/* -------------------------------------------------------------------------- */
+ chargeBatteryicon = new UIImageView();
+ if (!chargeBatteryicon)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "chargeBatteryicon creation failed");
+ return;
+ }
+ chargeBatteryicon->SetPosition(progress->GetX() + 6, batteryimage->GetY() + 2, 17, 26);
+ chargeBatteryicon->SetSrc("/user/res/Battery/Icon.bin");
+ chargeBatteryicon->SetAutoEnable(false);
+ chargeBatteryicon->SetResizeMode(UIImageView::CONTAIN);
+ chargeBatteryicon->SetVisible(false);
+ group1->Add(chargeBatteryicon);
+ /* -------------------------------------------------------------------------- */
group[DROPDOWNVIEW]->Add(group1);
/* --------------------------------- 显示日期和星期 -------------------------------- */
showDateAndWeekLabel = new UILabel();
/* -------------------------------------------------------------------------- */
MainPresenterSample::GetInstance()->UpdataBaseData();
/* -------------------------------------------------------------------------- */
+ UpdateBatteryProcess();
}
void PullUpDownView::ClearAll_2(void)
{
delete progress;
progress = nullptr;
}
+ if (chargeBatteryicon != nullptr)
+ {
+ delete chargeBatteryicon;
+ chargeBatteryicon = nullptr;
+ }
delete group1;
group1 = nullptr;
}
}
}
/*4g开关的状态刷新*/
- if(DropDownCardPage1::GetInstance())
+ if (DropDownCardPage1::GetInstance())
{
DropDownCardPage1::GetInstance()->Refresh4GState();
}
void PullUpDownView::UpdateXPosition(void)
{
// 判断相关组件是否有效
- if (MobileData && HD && Singal_4 && NoSignal && batteryimage && progress)
+ if (MobileData && HD && Singal_4 && NoSignal && batteryimage && progress && chargeBatteryicon)
{
// 获取各个组件的可见状态
bool mobileDataVisible = MobileData->IsVisible(); // 移动数据
MobileData->SetX(showSignalStrength[0]->GetX());
}
}
+ chargeBatteryicon->SetPosition(progress->GetX() + 6, batteryimage->GetY() + 2);
// 使相关组件无效化以触发重绘
MobileData->Invalidate();
HD->Invalidate();
NoSignal->Invalidate();
batteryimage->Invalidate();
progress->Invalidate();
+ chargeBatteryicon->Invalidate();
}
}
UpdateBlueToothStatus(bluetoothstatus);
}
+ // 更新是否是充电状态
+ void PullUpDownView::UpdateBatteryProcess()
+ {
+ if (!chargeBatteryicon || !progress)
+ {
+ return;
+ }
+
+ bool isCharging = get_charge_stat(); // 获取充电状态
+
+ if (isCharging)
+ {
+ if (!isChargeBatteryIconVisible)
+ {
+ chargeBatteryicon->SetVisible(true);
+ isChargeBatteryIconVisible = true;
+ }
+ progress->SetForegroundStyle(STYLE_BACKGROUND_COLOR, Color::Green().full); // 充电状态为绿色
+ return;
+ }
+ else
+ {
+ if (isChargeBatteryIconVisible)
+ {
+ chargeBatteryicon->SetVisible(false);
+ isChargeBatteryIconVisible = false;
+ }
+ progress->SetForegroundStyle(STYLE_BACKGROUND_COLOR, Color::White().full); // 充电状态为绿色
+ return;
+ }
+ }
+
UILabel *PullUpDownView::GetDateAndWeekLabel(void)
{
return showDateAndWeekLabel;
#include "heart_blood/health_service/health_service.h"
#include "vibrator_service.h"
#include "respiratorytraining/include/RespiratoryTrainingModel.h"
+#include "main/include/PullUpDownView.h"
#define DIALDATASET 1
//#include "Systemupgrade.h"
DialModelCharge::GetInstance()->UpdatechargeStatus(1);
#endif
SaveEleModel::GetInstance()->SetChargeStatus(true);
+ if(PullUpDownView::GetInstance()){
+ PullUpDownView::GetInstance()->UpdateBatteryProcess();
+ }
/* ---------------------------------- 充电弹窗 ---------------------------------- */
testCHANINGView *t=testCHANINGView::GetInstance();
if(t!=NULL)
DialModelCharge::GetInstance()->UpdatechargeStatus(0);
#endif
SaveEleModel::GetInstance()->SetChargeStatus(false);
+ if(PullUpDownView::GetInstance()){
+ PullUpDownView::GetInstance()->UpdateBatteryProcess();
+ }
/* ---------------------------------- 充电弹窗 ---------------------------------- */
testCHANINGView *t=testCHANINGView::GetInstance();
if(t!=NULL)