* @Author: luozheng 1732036298@qq.com
* @Date: 2024-03-28 14:27:05
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-03-30 16:32:43
+ * @LastEditTime: 2024-03-30 17:37:29
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/language/src/LanguageSwitchListAdapter.cpp
*/
#include "language/include/LanguageSwitchListAdapter.h"
UIView *LanguageSwitchListAdapter::GetView(UIView *inView, int16_t index)
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "LanguageSwitchListAdapter::GetView,index %d", index);
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "LanguageSwitchListAdapter::GetView,index %d", index);
// 1.先检查列表数据是否为空,若为空则返回空指针
if (listData.empty())
{
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-03-28 14:28:03
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-03-30 14:51:46
+ * @LastEditTime: 2024-03-30 17:37:32
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/language/src/LanguageSwitchListitemView.cpp
*/
#include "language/include/LanguageSwitchListitemView.h"
void LanguageSwitchListitemView::SetItemInfo(const Language itemInfo)
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "LanguageSwitchListitemView::SetItemInfo");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "LanguageSwitchListitemView::SetItemInfo");
m_LabelButtonExt.SetViewId(itemInfo.code);
m_LabelButtonExt.SetText(itemInfo.name);
}
namespace OHOS
{
+ static constexpr int16_t TITLE_LABEL_X = 133;
+ static constexpr int16_t TITLE_LABEL_Y = 52;
+ static constexpr int16_t TITLE_LABEL_W = 20;
+ static constexpr int16_t TITLE_LABEL_H = 40;
+
+
static constexpr int16_t LANGUAGE_LIST_X = 43;
static constexpr int16_t LANGUAGE_LIST_Y = 120;
static constexpr int16_t NUM_2 = 2;
static constexpr int16_t MAX_SCROLL_DIS = 1000;
static constexpr int16_t MAX_REBOUND_SIZE = 40;
+ static constexpr int16_t MAX_LANGUAGE_LIST_SCROLLBLANKSIZE = 50;
static LanguageSwitchView *g_pLanguageSwitchView{nullptr};
LanguageSwitchView::LanguageSwitchView()
{
return false;
}
LanguageSwitchScrollView->SetOnDragListener(draglistener);
+ LanguageSwitchScrollView->SetScrollBlankSize(MAX_LANGUAGE_LIST_SCROLLBLANKSIZE);
+ LanguageSwitchScrollView->SetHorizontalScrollState(false);
LanguageSwitchScrollView->SetTouchable(true);
LanguageSwitchScrollView->SetDraggable(true);
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "LanguageSwitchView::LanguageSwitchViewTitleLabel new fail!");
return false;
}
- LanguageSwitchViewTitleLabel->SetPosition(133, 52, 200, 40);
+ LanguageSwitchViewTitleLabel->SetPosition(TITLE_LABEL_X, TITLE_LABEL_Y, TITLE_LABEL_W, TITLE_LABEL_H);
LanguageSwitchViewTitleLabel->SetStyle(STYLE_TEXT_FONT, 30);
LanguageSwitchViewTitleLabel->SetStyle(STYLE_LINE_HEIGHT, 35);
// LanguageSwitchViewTitleLabel->SetText("语言");
LanguageSwitchViewTitleLabel->SetTextId(0);
- LanguageSwitchViewTitleLabel->ForceResetText();
LanguageSwitchViewTitleLabel->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);
LanguageSwitchViewTitleLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
LanguageSwitchViewTitleLabel->SetRollSpeed(40);
}
LanguageList->SetPosition(LANGUAGE_LIST_X, LANGUAGE_LIST_Y, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
LanguageList->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000);
- LanguageList->SetScrollBlankSize(MAX_REBOUND_SIZE);
+ LanguageList->SetScrollBlankSize(MAX_LANGUAGE_LIST_SCROLLBLANKSIZE);
LanguageList->EnableAutoAlign(true); // 设置此列表的自动对齐状态。当滚动停止时,子视图被选中,其位置自动与预设位置对齐
LanguageList->SetThrowDrag(true); // 设置手指抬起屏幕后是否继续滚动。
LanguageList->SetMaxScrollDistance(MAX_SCROLL_DIS); // 设置手指抬起屏幕后的最大滚动距离。
RootView::GetInstance()->Add(LanguageSwitchScrollView);
LanguageList->SetAdapter(p_LanguageSwitchListAdapter);
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "%d", p_LanguageSwitchListAdapter->GetCount());
-
+ LanguageSwitchViewTitleLabel->ForceResetText();
Draw();
}
virtual ~SystemPresenter();\r
\r
void OnStart() override;\r
- //void OnPause() override;\r
+ void OnPause() override;\r
void OnResume() override;\r
void OnStop() override;\r
\r
#include "AppViewIDs.h"\r
#include "components/ui_label_ext.h"\r
-#include"language/font/ui_resource_string.h"\r
+#include "language/font/ui_resource_string.h"\r
#include "NativeAbility.h"\r
#include "graphic_math.h"\r
#include "string.h"\r
bool enable_falg;\r
};\r
\r
- // 2.ViewMapper[] 是一个静态的视图映射数组,将视图ID与MainStopWatchView类中的特定成员函数指针进行了绑定。\r
static SystemView_ext_p ViewMapper_t[] = {\r
{ABOUTTHEWATCHVIEW, "AboutTheWatchButton", true},\r
{SUPERVISEVIEW, "SuperviseButton", true},\r
- {SYSTEMLANGUAGEVIEW, "SystemLanguageButton", true},\r
+ {SYSTEMLANGUAGEVIEW, "SystemLanguageButton", false},\r
{FACTORYRESETVIEW, "FactoryResetButton", true},\r
{SYSTEMLUPGRADE, "systemupgread", true},\r
};\r
Presenter<SystemView>::OnStart();\r
}\r
\r
- static uint32_t time=0;\r
- static uint32_t OnClick_num=0;\r
+ void SystemPresenter::OnPause(void)\r
+ {\r
+ Presenter<SystemView>::OnPause();\r
+ }\r
+\r
+ static uint32_t time = 0;\r
+ static uint32_t OnClick_num = 0;\r
\r
bool SystemPresenter::OnPress(UIView &view, const PressEvent &event)\r
{\r
- \r
-\r
- \r
+ return true;\r
}\r
\r
void SystemPresenter::OnResume(void)\r
// int len=5;\r
// 根据控件id查找是哪个控件触发了点击回调\r
\r
- if(strcmp(view.GetViewId(), "SystemAboutTheWatchTitle")==0)\r
- { \r
+ if (strcmp(view.GetViewId(), "SystemAboutTheWatchTitle") == 0)\r
+ {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemAboutTheWatchTitle");\r
- if(time==0)\r
+ if (time == 0)\r
{\r
time = event.GetTimeStamp();\r
- OnClick_num=1;\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "222 %d",time);\r
+ OnClick_num = 1;\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "222 %d", time);\r
}\r
else\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "111 %d",event.GetTimeStamp());\r
- if(event.GetTimeStamp() -time<1000)\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "111 %d", event.GetTimeStamp());\r
+ if (event.GetTimeStamp() - time < 1000)\r
{\r
OnClick_num++;\r
- \r
- if(OnClick_num>5)\r
+\r
+ if (OnClick_num > 5)\r
{\r
NativeAbility::GetInstance().ChangeSlice(VIEW_TEST);\r
}\r
}\r
else\r
{\r
- time =0;\r
+ time = 0;\r
}\r
}\r
return true;\r
}\r
- \r
- \r
+\r
+ if (strcmp(view.GetViewId(), "SystemLanguageButton") == 0)\r
+ {\r
+ NativeAbility::GetInstance().ChangeSlice(VIEW_LANGUAGE_SWITCH);\r
+ return true;\r
+ }\r
+\r
for (int i = 0; i < len; i++)\r
{\r
if (strcmp(view.GetViewId(), ViewMapper_t[i].viewid_str) == 0)\r
{\r
if (i == 5)\r
{\r
- \r
+\r
break;\r
}\r
\r
if (ViewMapper_t[i].enable_falg == true)\r
SystemView::GetInstance()->ChangeView(SYSTEMVIEW, ViewMapper_t[i].viewId);\r
- time=0;\r
+ time = 0;\r
return true;\r
}\r
}\r
\r
-\r
if (strcmp(view.GetViewId(), FACTORYRESET_CHECKON) == 0)\r
{\r
p_SystemView->ChangeView(FACTORYRESETVIEW, SYSTEMVIEW);\r
NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING);\r
isSystemUpgradeState = false;\r
}\r
- return false;\r
+ return true;\r
}\r
\r
// 该拖拽是用来处理系统视图(slice)的左滑退出事件和子视图的左滑退出到系统视图区分开\r
if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
{\r
uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();\r
+ if (preSlice == VIEW_LANGUAGE_SWITCH)\r
+ {\r
+ NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING);\r
+ return true;\r
+ }\r
NativeAbility::GetInstance().ChangeSlice(preSlice);\r
}\r
}\r