};\r
\r
/*\r
- *录音列表点击监听类\r
+ *录音列表视图监听类\r
*/\r
- class RecordListViewOnClickListener : public UIView::OnClickListener\r
+ class RecordListViewListener : public UIView::OnClickListener,public UIView::OnDragListener\r
{\r
public:\r
- RecordListViewOnClickListener() {}\r
+ RecordListViewListener() {}\r
\r
- ~RecordListViewOnClickListener() {}\r
+ ~RecordListViewListener() {}\r
\r
bool OnClick(UIView &view, const ClickEvent &event) override;\r
+ bool OnDrag(UIView &view, const DragEvent &event) override;\r
};\r
\r
class RecordingView;\r
delete clicklister;\r
clicklister = nullptr;\r
}\r
+ \r
+ UIView::OnDragListener *dragLister = RecordListScrollView->GetOnDragListener();\r
+ if (dragLister != nullptr)\r
+ {\r
+ delete dragLister;\r
+ dragLister = nullptr;\r
+ }\r
\r
delete recordList;\r
recordList = nullptr;\r
return false;\r
}\r
RecordListScrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
- RecordListScrollView->SetScrollBlankSize(35);\r
- RecordListScrollView->SetReboundSize(50);\r
- RecordListScrollView->SetDirection(1);\r
- UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(RecordingPresenter::GetInstance());\r
+ UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(new RecordListViewListener());\r
if (draglistener == nullptr)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenDurationView::draglistener can not be nullptr!");\r
{\r
// UIList 的适配器\r
p_RecordingListAdapter = new RecordingListAdapter();\r
- p_RecordingListAdapter->SetItemClickListener(new RecordListViewOnClickListener());\r
+ p_RecordingListAdapter->SetItemClickListener(new RecordListViewListener());\r
recordList = new UIList();\r
if (recordList == nullptr)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordListView::recordList is nullptr!");\r
return false;\r
}\r
- recordList->SetPosition(43, 120, 380, 120 + 120 * RecordingModel::GetInstance()->GetRecordingListNum());\r
+ recordList->SetPosition(43, 120, 380, 300);\r
recordList->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000);\r
- recordList->SetAdapter(p_RecordingListAdapter);\r
+ // recordList->SetScrollBlankSize(50); // 设置此滚动视图的空白大小。\r
+ /**\r
+ *设置在此列表滚动时选择子视图的位置,当子视图在指定位置被选中时,回调{@link ListScrollListener}将被调用。*你可以在回调中实现放大和变色效果。\r
+ */\r
+ recordList->SetSelectPosition(233);\r
+ // recordList->EnableAutoAlign(true); // 设置此列表的自动对齐状态。当滚动停止时,子视图被选中,其位置自动与预设位置对齐\r
+ recordList->SetThrowDrag(true); // 设置手指抬起屏幕后是否继续滚动。\r
+ recordList->SetTouchable(true);\r
+ recordList->SetDraggable(true);\r
+ recordList->SetMaxScrollDistance(1000); // 设置手指抬起屏幕后的最大滚动距离。\r
+ recordList->SetReboundSize(50);\r
+ recordList->SetYScrollBarVisible(true); // 设置 Y 轴滚动条是否可见。\r
+ recordList->SetIntercept(true); // 设置是否拦截输入事件。如果被截获,视图在本地处理后不会将输入事件传递给父视图。\r
+ \r
InitRecordingInfo();\r
- recordList->RefreshList();\r
+ recordList->SetAdapter(p_RecordingListAdapter);\r
RecordListScrollView->Add(recordList);\r
return true;\r
}\r
{\r
NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST);\r
}\r
+ else if(i == RECORDINGPLAYERVIEW)\r
+ {\r
+ p_RecordingView->ChangeView(i, RECORDINGLISTVIEW);\r
+ }\r
else\r
{\r
p_RecordingView->ChangeView(i, RECORDINGVIEW);\r
p_RecordingView->ChangeView(RECORDINGVIEW, RECORDINGLISTVIEW);\r
return true;\r
}\r
- return false;\r
+ return true;\r
}\r
\r
/// @brief 解析时间\r
}\r
\r
// 格式化输出为上午/下午几点几分几秒\r
- strftime(formattedDateTime, 80, "%p %I点%M分%S秒", &timeinfo);\r
- // strftime(formattedDateTime, 80, "%p %H %M %S", &timeinfo);\r
+ // strftime(formattedDateTime, 80, "%p %I点%M分%S秒", &timeinfo);\r
+ strftime(formattedDateTime, 80, "%p %H %M %S", &timeinfo);\r
return 1; // 转换成功\r
}\r
\r
return true;\r
}\r
\r
- bool RecordListViewOnClickListener::OnClick(UIView &view, const ClickEvent &event)\r
+ bool RecordListViewListener::OnClick(UIView &view, const ClickEvent &event)\r
{\r
UNUSED(event);\r
RecordingListitemView *p_RecordingListitemView = static_cast<RecordingListitemView *>(&view);\r
int index = p_RecordingListitemView->GetRecordingListIndex();\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordListViewOnClickListener::OnClick index:%d\n", index);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordListViewListener::OnClick index:%d\n", index);\r
if (index >= RecordingModel::GetInstance()->GetRecordingListNum())\r
{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordListViewOnClickListener::OnClick is no index");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordListViewListener::OnClick is no index");\r
return false;\r
}\r
// 保存被点击录音下标\r
return false;\r
}\r
p_RecordingView->ChangeView(RECORDINGLISTVIEW, RECORDINGPLAYERVIEW);\r
- \r
- \r
+\r
+ return true;\r
+ }\r
+\r
+ bool RecordListViewListener::OnDrag(UIView &view, const DragEvent &event)\r
+ {\r
+ UNUSED(view);\r
+ RecordingView *p_RecordingView = RecordingView::GetInstance();\r
+ if (p_RecordingView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingView GetInstance fail");\r
+ return false;\r
+ }\r
+ if (event.GetDragDirection() == DragEvent::DIRECTION_TOP_TO_BOTTOM)\r
+ {\r
+ p_RecordingView->ChangeView(RECORDINGLISTVIEW, RECORDINGVIEW);\r
+ }\r
return true;\r
}\r
\r