-/***
+/***
+ * @Date: 2024-04-15 10:55:58
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-07-05 18:36:27
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/message/include/MessageView.h
+ */
+/***
* @Date: 2024-04-15 10:55:58
* @LastEditors: Caisking 3449750381@qq.com
* @LastEditTime: 2024-06-21 17:13:44
#include "components/ui_label.h"
#include "components/ui_label_ext.h"
#include "components/ui_label_button_ext.h"
+#include "components/ui_list_ext.h"
+
namespace OHOS
{
#define DELETEALLDATA "deletealldata"
};
class MessagePresenter;
class MessageModel;
- class MessageView : public View<MessagePresenter>
+ class MessageView : public View<MessagePresenter>, ListScrollListener
{
public:
bool SetupViewPage(MessageView *messageView);
private:
-
/*无消息界面*/
UIScrollView *lackView{nullptr};
UIImageView *imageline{nullptr};
{
MessageList = new UIList();
}
- MessageList->SetPosition(More_LIST_POSITION_X, More_LIST_POSITION_Y);
- MessageList->Resize(HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
- MessageList->SetScrollBlankSize(More_SCROLLBLANKSIZE);
- MessageList->SetReboundSize(50);
- MessageList->SetSelectPosition(HORIZONTAL_RESOLUTION / SNUM_2); // middle position
- MessageList->SetDraggable(true);
+ MessageList->SetPosition(More_LIST_POSITION_X, More_LIST_POSITION_Y, 466, 466);
+ MessageList->SetScrollStateListener(this);
MessageList->SetThrowDrag(true);
- MessageList->EnableAutoAlign(true);
- MessageList->SetElastic(true); // 设置回弹效果
- MessageList->SetMaxScrollDistance(MAX_SCR_DIS);
+ MessageList->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
+ // 设置手指抬起屏幕后的最大滚动距离
+ MessageList->SetMaxScrollDistance(1000); // 1000: max scroll distance
+ // 设置手指抬起屏幕后的补偿距离
+ MessageList->SetSwipeACCLevel(800); // 800: compensation distance
+ // 设置拖动加速
+ MessageList->SetDragACCLevel(5); // 5: drag acceleration
+ MessageList->SetYScrollBarVisible(true);
- messageView->SetYScrollBarVisible(true); // 设置滑动滚动条
MessageList->SetOnClickListener(static_cast<UIView::OnClickListener *>(MessagePresenter::GetInstance()));
UIView::OnDragListener *Messagedraglistener = static_cast<UIView::OnDragListener *>(MessagePresenter::GetInstance());
messageView->SetOnDragListener(Messagedraglistener);
/*删除按键*/
- int top = MessageList->GetWidth() + 130;
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "top %d", top);
+ int top = MessageList->GetHeight();
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "old top %d", top);
+ top > 466 ? top += 130 : top -= 100;
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "new top %d", top);
InitButtonExt(DeleteButton, 43, top, 380, 100, DELETEALLDATA, STR_CLEANALL, 30);
DeleteButton->SetOnClickListener(static_cast<UIView::OnClickListener *>(MessagePresenter::GetInstance()));
messageView->Add(DeleteButton);