@quicktvui/ai 1.0.7 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/rules/.clinerules +27 -4
- package/rules/.cursorrules +27 -4
- package/rules/.github/copilot-instructions.md +27 -4
- package/rules/.source/hippy/extend_views/CoverFlowHorizontalView.java +203 -0
- package/rules/.source/hippy/extend_views/CoverFlowVerticalView.java +203 -0
- package/rules/.source/hippy/extend_views/CoverFlowViewController.java +195 -0
- package/rules/.source/hippy/extend_views/EngineRootView.java +125 -0
- package/rules/.source/hippy/extend_views/ExtendTag.java +83 -0
- package/rules/.source/hippy/extend_views/FocusSearchHelper.java +124 -0
- package/rules/.source/hippy/extend_views/IRecyclerItemView.java +12 -0
- package/rules/.source/hippy/extend_views/JSEventHandleView.java +5 -0
- package/rules/.source/hippy/extend_views/MarqueeRelayManager.java +133 -0
- package/rules/.source/hippy/extend_views/MarqueeRelayTextView.java +211 -0
- package/rules/.source/hippy/extend_views/ProgressBarView.java +83 -0
- package/rules/.source/hippy/extend_views/ProgressBarViewController.java +145 -0
- package/rules/.source/hippy/extend_views/SeekBarView.java +104 -0
- package/rules/.source/hippy/extend_views/SeekBarViewController.java +218 -0
- package/rules/.source/hippy/extend_views/StateImageView.java +149 -0
- package/rules/.source/hippy/extend_views/StateImageViewController.java +34 -0
- package/rules/.source/hippy/extend_views/TVButtonView.java +314 -0
- package/rules/.source/hippy/extend_views/TVButtonViewController.java +89 -0
- package/rules/.source/hippy/extend_views/TVTextView.java +684 -0
- package/rules/.source/hippy/extend_views/TVViewActor.java +811 -0
- package/rules/.source/hippy/extend_views/TVViewActorHost.java +6 -0
- package/rules/.source/hippy/extend_views/TVViewActor/346/216/245/345/205/245.md +66 -0
- package/rules/.source/hippy/extend_views/TemplateUtil.java +336 -0
- package/rules/.source/hippy/extend_views/TextButtonNode.java +47 -0
- package/rules/.source/hippy/extend_views/TextViewController.java +377 -0
- package/rules/.source/hippy/extend_views/fastlist/CenterFlyInAnimator.java +96 -0
- package/rules/.source/hippy/extend_views/fastlist/ChildOnScreenScroller.java +548 -0
- package/rules/.source/hippy/extend_views/fastlist/ClonedViewTag.java +17 -0
- package/rules/.source/hippy/extend_views/fastlist/EventDeliverer.java +55 -0
- package/rules/.source/hippy/extend_views/fastlist/FastAdapter.java +4683 -0
- package/rules/.source/hippy/extend_views/fastlist/FastAdapterUtil.java +982 -0
- package/rules/.source/hippy/extend_views/fastlist/FastFlexNode.java +48 -0
- package/rules/.source/hippy/extend_views/fastlist/FastFlexView.java +873 -0
- package/rules/.source/hippy/extend_views/fastlist/FastFlexViewController.java +130 -0
- package/rules/.source/hippy/extend_views/fastlist/FastItemNode.java +67 -0
- package/rules/.source/hippy/extend_views/fastlist/FastItemView.java +306 -0
- package/rules/.source/hippy/extend_views/fastlist/FastItemViewController.java +106 -0
- package/rules/.source/hippy/extend_views/fastlist/FastListModule.java +95 -0
- package/rules/.source/hippy/extend_views/fastlist/FastListNode.java +90 -0
- package/rules/.source/hippy/extend_views/fastlist/FastListView.java +2466 -0
- package/rules/.source/hippy/extend_views/fastlist/FastListViewController.java +1038 -0
- package/rules/.source/hippy/extend_views/fastlist/FastListView/346/270/262/346/237/223/346/265/201/347/250/213/345/233/276.graffle +0 -0
- package/rules/.source/hippy/extend_views/fastlist/FastPendingView.java +47 -0
- package/rules/.source/hippy/extend_views/fastlist/ItemDecorations.java +71 -0
- package/rules/.source/hippy/extend_views/fastlist/ItemStoreNode.java +64 -0
- package/rules/.source/hippy/extend_views/fastlist/ItemStoreView.java +13 -0
- package/rules/.source/hippy/extend_views/fastlist/ItemStoreViewController.java +45 -0
- package/rules/.source/hippy/extend_views/fastlist/ListItemHolder.java +7 -0
- package/rules/.source/hippy/extend_views/fastlist/ListViewControlProp.java +41 -0
- package/rules/.source/hippy/extend_views/fastlist/MouseRecycleView.java +509 -0
- package/rules/.source/hippy/extend_views/fastlist/OnFastItemClickListener.java +12 -0
- package/rules/.source/hippy/extend_views/fastlist/OnFastItemFocusChangeListener.java +9 -0
- package/rules/.source/hippy/extend_views/fastlist/OnFastScrollStateChangedListener.java +7 -0
- package/rules/.source/hippy/extend_views/fastlist/PendingListNode.java +18 -0
- package/rules/.source/hippy/extend_views/fastlist/PendingViewController.java +13 -0
- package/rules/.source/hippy/extend_views/fastlist/PostHandlerView.java +6 -0
- package/rules/.source/hippy/extend_views/fastlist/PostTaskHolder.java +20 -0
- package/rules/.source/hippy/extend_views/fastlist/ReplaceChildController.java +105 -0
- package/rules/.source/hippy/extend_views/fastlist/ReplaceChildView.java +312 -0
- package/rules/.source/hippy/extend_views/fastlist/TVListView.java +3692 -0
- package/rules/.source/hippy/extend_views/fastlist/TemplateCodeParser.java +247 -0
- package/rules/.source/hippy/extend_views/fastlist/Utils.java +572 -0
- package/rules/.source/hippy/extend_views/fastlist/ViewTag.java +317 -0
- package/rules/.source/hippy/extend_views/fastlist/VirtualListView.java +8 -0
- package/rules/.source/hippy/extend_views/fastlist/diff/FastListDataBindingHelper.java +320 -0
- package/rules/.source/hippy/extend_views/fastlist/diff/KeyDiffHelper.java +289 -0
- package/rules/.source/hippy/extend_views/fastlist/diff/NoKeyDiffHelper.java +278 -0
- package/rules/.source/hippy/extend_views/tag/FontTag.java +53 -0
- package/rules/.source/hippy/extend_views/tag/HtmlTag.java +191 -0
- package/rules/.source/hippy/extend_views/tag/HtmlTagHandler.java +185 -0
- package/rules/.source/hippy/extend_views/tag/SpanTag.java +160 -0
- package/rules/.source/hippy/extend_views/tag/TextFontSpan.java +102 -0
- package/rules/.source/hippy/extend_views/waterfall/Chunk.java +10 -0
- package/rules/.source/hippy/extend_views/waterfall/ChunkGroup.java +5 -0
- package/rules/.source/hippy/extend_views/waterfall/Section.java +4 -0
- package/rules/.source/hippy/extend_views/waterfall/Tabs.java +5 -0
- package/rules/.source/hippy/extend_views/waterfall/WaterfallUtils.java +26 -0
- package/rules/.source/hippy/hippy_uimanager/ControllerHolder.java +30 -0
- package/rules/.source/hippy/hippy_uimanager/ControllerManager.java +651 -0
- package/rules/.source/hippy/hippy_uimanager/ControllerRegistry.java +102 -0
- package/rules/.source/hippy/hippy_uimanager/ControllerUpdateManger.java +252 -0
- package/rules/.source/hippy/hippy_uimanager/CustomControllerHelper.java +425 -0
- package/rules/.source/hippy/hippy_uimanager/DiffUtils.java +526 -0
- package/rules/.source/hippy/hippy_uimanager/ExtendViewGroup.java +36 -0
- package/rules/.source/hippy/hippy_uimanager/HippyCustomViewCreator.java +29 -0
- package/rules/.source/hippy/hippy_uimanager/HippyGroupController.java +83 -0
- package/rules/.source/hippy/hippy_uimanager/HippyViewBase.java +27 -0
- package/rules/.source/hippy/hippy_uimanager/HippyViewController.java +2189 -0
- package/rules/.source/hippy/hippy_uimanager/HippyViewEvent.java +52 -0
- package/rules/.source/hippy/hippy_uimanager/IHippyZIndexViewGroup.java +24 -0
- package/rules/.source/hippy/hippy_uimanager/InternalExtendViewUtil.java +395 -0
- package/rules/.source/hippy/hippy_uimanager/ListItemRenderNode.java +143 -0
- package/rules/.source/hippy/hippy_uimanager/ListViewRenderNode.java +44 -0
- package/rules/.source/hippy/hippy_uimanager/MatrixUtil.java +470 -0
- package/rules/.source/hippy/hippy_uimanager/NativeGestureDispatcher.java +349 -0
- package/rules/.source/hippy/hippy_uimanager/NativeGestureProcessor.java +188 -0
- package/rules/.source/hippy/hippy_uimanager/PullFooterRenderNode.java +43 -0
- package/rules/.source/hippy/hippy_uimanager/PullHeaderRenderNode.java +43 -0
- package/rules/.source/hippy/hippy_uimanager/RenderManager.java +304 -0
- package/rules/.source/hippy/hippy_uimanager/RenderNode.java +533 -0
- package/rules/.source/hippy/hippy_uimanager/StateView.java +17 -0
- package/rules/.source/hippy/hippy_uimanager/TransformUtil.java +125 -0
- package/rules/.source/hippy/hippy_uimanager/ViewGroupDrawingOrderHelper.java +108 -0
- package/rules/.source/hippy/hippy_uimanager/ViewStateProvider.java +10 -0
- package/rules/.source/hippy/hippy_views/audioview/AudioPlayManager.java +457 -0
- package/rules/.source/hippy/hippy_views/audioview/AudioView.java +225 -0
- package/rules/.source/hippy/hippy_views/audioview/AudioViewController.java +135 -0
- package/rules/.source/hippy/hippy_views/common/CommonBackgroundDrawable.java +58 -0
- package/rules/.source/hippy/hippy_views/common/CommonBorder.java +37 -0
- package/rules/.source/hippy/hippy_views/custom/HippyCustomPropsController.java +61 -0
- package/rules/.source/hippy/hippy_views/hippylist/HippyRecyclerListAdapter.java +399 -0
- package/rules/.source/hippy/hippy_views/hippylist/HippyRecyclerView.java +378 -0
- package/rules/.source/hippy/hippy_views/hippylist/HippyRecyclerViewController.java +187 -0
- package/rules/.source/hippy/hippy_views/hippylist/HippyRecyclerViewHolder.java +39 -0
- package/rules/.source/hippy/hippy_views/hippylist/HippyRecyclerViewWrapper.java +134 -0
- package/rules/.source/hippy/hippy_views/hippylist/NodePositionHelper.java +55 -0
- package/rules/.source/hippy/hippy_views/hippylist/PreloadHelper.java +54 -0
- package/rules/.source/hippy/hippy_views/hippylist/PullFooterEventHelper.java +61 -0
- package/rules/.source/hippy/hippy_views/hippylist/PullHeaderEventHelper.java +127 -0
- package/rules/.source/hippy/hippy_views/hippylist/RecyclerViewEventHelper.java +394 -0
- package/rules/.source/hippy/hippy_views/image/HippyContentDrawable.java +113 -0
- package/rules/.source/hippy/hippy_views/image/HippyImageView.java +1608 -0
- package/rules/.source/hippy/hippy_views/image/HippyImageViewController.java +382 -0
- package/rules/.source/hippy/hippy_views/image/IImageStateListener.java +7 -0
- package/rules/.source/hippy/hippy_views/list/ChildOnScreenScroller.java +255 -0
- package/rules/.source/hippy/hippy_views/list/HippyListAdapter.java +647 -0
- package/rules/.source/hippy/hippy_views/list/HippyListItemView.java +162 -0
- package/rules/.source/hippy/hippy_views/list/HippyListItemViewController.java +45 -0
- package/rules/.source/hippy/hippy_views/list/HippyListView.java +915 -0
- package/rules/.source/hippy/hippy_views/list/HippyListViewController.java +622 -0
- package/rules/.source/hippy/hippy_views/list/HippyRecycler.java +31 -0
- package/rules/.source/hippy/hippy_views/list/IRecycleItemTypeChange.java +23 -0
- package/rules/.source/hippy/hippy_views/list/ItemDecorations.java +70 -0
- package/rules/.source/hippy/hippy_views/list/NegativeLongKeyFlinger.java +156 -0
- package/rules/.source/hippy/hippy_views/list/NodeHolder.java +34 -0
- package/rules/.source/hippy/hippy_views/list/RecycleViewFlinger.java +126 -0
- package/rules/.source/hippy/hippy_views/list/TVRecyclerView.java +2070 -0
- package/rules/.source/hippy/hippy_views/list/TVSingleLineListView.java +15 -0
- package/rules/.source/hippy/hippy_views/modal/HippyModalHostManager.java +102 -0
- package/rules/.source/hippy/hippy_views/modal/HippyModalHostView.java +597 -0
- package/rules/.source/hippy/hippy_views/modal/ModalHostHelper.java +46 -0
- package/rules/.source/hippy/hippy_views/modal/ModalStyleNode.java +34 -0
- package/rules/.source/hippy/hippy_views/modal/RequestCloseEvent.java +32 -0
- package/rules/.source/hippy/hippy_views/modal/ShowEvent.java +31 -0
- package/rules/.source/hippy/hippy_views/navigator/Navigator.java +126 -0
- package/rules/.source/hippy/hippy_views/navigator/NavigatorController.java +120 -0
- package/rules/.source/hippy/hippy_views/refresh/HippyPullFooterView.java +47 -0
- package/rules/.source/hippy/hippy_views/refresh/HippyPullFooterViewController.java +65 -0
- package/rules/.source/hippy/hippy_views/refresh/HippyPullHeaderView.java +39 -0
- package/rules/.source/hippy/hippy_views/refresh/HippyPullHeaderViewController.java +104 -0
- package/rules/.source/hippy/hippy_views/refresh/RefreshWrapper.java +237 -0
- package/rules/.source/hippy/hippy_views/refresh/RefreshWrapperController.java +62 -0
- package/rules/.source/hippy/hippy_views/refresh/RefreshWrapperItemController.java +39 -0
- package/rules/.source/hippy/hippy_views/refresh/RefreshWrapperItemView.java +26 -0
- package/rules/.source/hippy/hippy_views/scroll/HippyHorizontalScrollView.java +500 -0
- package/rules/.source/hippy/hippy_views/scroll/HippyOnScrollHelper.java +39 -0
- package/rules/.source/hippy/hippy_views/scroll/HippyScrollView.java +46 -0
- package/rules/.source/hippy/hippy_views/scroll/HippyScrollViewController.java +178 -0
- package/rules/.source/hippy/hippy_views/scroll/HippyScrollViewEventHelper.java +92 -0
- package/rules/.source/hippy/hippy_views/scroll/HippyVerticalScrollView.java +522 -0
- package/rules/.source/hippy/hippy_views/text/HippyTextView.java +512 -0
- package/rules/.source/hippy/hippy_views/text/HippyTextViewController.java +77 -0
- package/rules/.source/hippy/hippy_views/textinput/HippyTextInput.java +668 -0
- package/rules/.source/hippy/hippy_views/textinput/HippyTextInputController.java +528 -0
- package/rules/.source/hippy/hippy_views/textinput/TextInputNode.java +115 -0
- package/rules/.source/hippy/hippy_views/videoview/APEZProvider.java +287 -0
- package/rules/.source/hippy/hippy_views/videoview/APKExpansionSupport.java +82 -0
- package/rules/.source/hippy/hippy_views/videoview/PivotPoint.java +13 -0
- package/rules/.source/hippy/hippy_views/videoview/ScalableType.java +34 -0
- package/rules/.source/hippy/hippy_views/videoview/ScalableVideoView.java +265 -0
- package/rules/.source/hippy/hippy_views/videoview/ScaleManager.java +191 -0
- package/rules/.source/hippy/hippy_views/videoview/Size.java +19 -0
- package/rules/.source/hippy/hippy_views/videoview/VideoHippyView.java +917 -0
- package/rules/.source/hippy/hippy_views/videoview/VideoHippyViewController.java +236 -0
- package/rules/.source/hippy/hippy_views/videoview/ZipResourceFile.java +427 -0
- package/rules/.source/hippy/hippy_views/view/CardRootView.java +28 -0
- package/rules/.source/hippy/hippy_views/view/CustomLayoutView.java +10 -0
- package/rules/.source/hippy/hippy_views/view/CustomNodeView.java +5 -0
- package/rules/.source/hippy/hippy_views/view/DialogViewGroup.java +113 -0
- package/rules/.source/hippy/hippy_views/view/HippyViewGroup.java +2042 -0
- package/rules/.source/hippy/hippy_views/view/HippyViewGroupController.java +583 -0
- package/rules/.source/hippy/hippy_views/view/WindowRoot.java +5 -0
- package/rules/.source/hippy/hippy_views/viewpager/HippyViewPager.java +308 -0
- package/rules/.source/hippy/hippy_views/viewpager/HippyViewPagerAdapter.java +148 -0
- package/rules/.source/hippy/hippy_views/viewpager/HippyViewPagerController.java +246 -0
- package/rules/.source/hippy/hippy_views/viewpager/HippyViewPagerItem.java +27 -0
- package/rules/.source/hippy/hippy_views/viewpager/HippyViewPagerItemController.java +42 -0
- package/rules/.source/hippy/hippy_views/viewpager/ViewPagerPageChangeListener.java +114 -0
- package/rules/.source/hippy/hippy_views/viewpager/event/HippyPageItemExposureEvent.java +40 -0
- package/rules/.source/hippy/hippy_views/viewpager/event/HippyPageScrollEvent.java +43 -0
- package/rules/.source/hippy/hippy_views/viewpager/event/HippyPageScrollStateChangedEvent.java +42 -0
- package/rules/.source/hippy/hippy_views/viewpager/event/HippyPageSelectedEvent.java +42 -0
- package/rules/.source/hippy/hippy_views/webview/HippyWebView.java +160 -0
- package/rules/.source/hippy/hippy_views/webview/HippyWebViewBridge.java +20 -0
- package/rules/.source/hippy/hippy_views/webview/HippyWebViewController.java +103 -0
- package/rules/.source/hippy/hippy_views/webview/HippyWebViewInner.java +77 -0
- package/rules/.windsurfrules +27 -4
- package/rules/AGENTS.md +27 -4
- package/rules/CLAUDE.md +27 -3
- package/rules/GEMINI.md +25 -3
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
package com.tencent.mtt.hippy.views.scroll;
|
|
2
|
+
|
|
3
|
+
import android.content.Context;
|
|
4
|
+
import android.text.TextUtils;
|
|
5
|
+
import android.view.View;
|
|
6
|
+
import android.view.ViewGroup;
|
|
7
|
+
import com.tencent.mtt.hippy.annotation.HippyController;
|
|
8
|
+
import com.tencent.mtt.hippy.annotation.HippyControllerProps;
|
|
9
|
+
import com.tencent.mtt.hippy.common.HippyArray;
|
|
10
|
+
import com.tencent.mtt.hippy.common.HippyMap;
|
|
11
|
+
import com.tencent.mtt.hippy.uimanager.HippyGroupController;
|
|
12
|
+
import com.tencent.mtt.hippy.utils.PixelUtil;
|
|
13
|
+
|
|
14
|
+
@SuppressWarnings({"deprecation", "unused", "rawtypes"})
|
|
15
|
+
@HippyController(name = HippyScrollViewController.CLASS_NAME)
|
|
16
|
+
public class HippyScrollViewController<T extends ViewGroup & HippyScrollView> extends
|
|
17
|
+
HippyGroupController {
|
|
18
|
+
|
|
19
|
+
protected static final String SCROLL_TO = "scrollTo";
|
|
20
|
+
private static final String SCROLL_TO_WITHOPTIONS = "scrollToWithOptions";
|
|
21
|
+
|
|
22
|
+
public static final String CLASS_NAME = "ScrollView";
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
@Override
|
|
26
|
+
protected View createViewImpl(Context context, HippyMap iniProps) {
|
|
27
|
+
|
|
28
|
+
if (iniProps != null && iniProps.containsKey("horizontal") && iniProps
|
|
29
|
+
.getBoolean("horizontal")) {
|
|
30
|
+
return new HippyHorizontalScrollView(context);
|
|
31
|
+
} else {
|
|
32
|
+
return new HippyVerticalScrollView(context);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// return super.createViewImpl(context, iniProps);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@Override
|
|
39
|
+
protected View createViewImpl(Context context) {
|
|
40
|
+
return null;
|
|
41
|
+
// return new HippyScrollView(context);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@HippyControllerProps(name = "scrollEnabled", defaultType = HippyControllerProps.BOOLEAN, defaultBoolean = true)
|
|
45
|
+
public void setScrollEnabled(HippyScrollView view, boolean flag) {
|
|
46
|
+
view.setScrollEnabled(flag);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@HippyControllerProps(name = "showScrollIndicator", defaultType = HippyControllerProps.BOOLEAN)
|
|
50
|
+
public void setShowScrollIndicator(HippyScrollView view, boolean flag) {
|
|
51
|
+
view.showScrollIndicator(flag);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@HippyControllerProps(name = "onScrollEnable", defaultType = HippyControllerProps.BOOLEAN)
|
|
55
|
+
public void setScrollEventEnable(HippyScrollView view, boolean flag) {
|
|
56
|
+
view.setScrollEventEnable(flag);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
@HippyControllerProps(name = "onScrollBeginDrag", defaultType = HippyControllerProps.BOOLEAN)
|
|
60
|
+
public void setScrollBeginDragEventEnable(HippyScrollView view, boolean flag) {
|
|
61
|
+
view.setScrollBeginDragEventEnable(flag);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@HippyControllerProps(name = "onScrollEndDrag", defaultType = HippyControllerProps.BOOLEAN)
|
|
65
|
+
public void setScrollEndDragEventEnable(HippyScrollView view, boolean flag) {
|
|
66
|
+
view.setScrollEndDragEventEnable(flag);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
@HippyControllerProps(name = "onMomentumScrollBegin", defaultType = HippyControllerProps.BOOLEAN)
|
|
70
|
+
public void setMomentumScrollBeginEventEnable(HippyScrollView view, boolean flag) {
|
|
71
|
+
view.setMomentumScrollBeginEventEnable(flag);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
@HippyControllerProps(name = "onMomentumScrollEnd", defaultType = HippyControllerProps.BOOLEAN)
|
|
75
|
+
public void setMomentumScrollEndEventEnable(HippyScrollView view, boolean flag) {
|
|
76
|
+
view.setMomentumScrollEndEventEnable(flag);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
@HippyControllerProps(name = "flingEnabled", defaultType = HippyControllerProps.BOOLEAN, defaultBoolean = true)
|
|
80
|
+
public void setFlingEnabled(HippyScrollView view, boolean flag) {
|
|
81
|
+
view.setFlingEnabled(flag);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
@HippyControllerProps(name = "contentOffset4Reuse")
|
|
85
|
+
public void setContentOffset4Reuse(HippyScrollView view, HippyMap offsetMap) {
|
|
86
|
+
view.setContentOffset4Reuse(offsetMap);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
@HippyControllerProps(name = "pagingEnabled", defaultType = HippyControllerProps.BOOLEAN)
|
|
90
|
+
public void setPagingEnabled(HippyScrollView view, boolean pagingEnabled) {
|
|
91
|
+
view.setPagingEnabled(pagingEnabled);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
@HippyControllerProps(name = "scrollEventThrottle", defaultType = HippyControllerProps.NUMBER, defaultNumber = 30.0D)
|
|
95
|
+
public void setScrollEventThrottle(HippyScrollView view, int scrollEventThrottle) {
|
|
96
|
+
view.setScrollEventThrottle(scrollEventThrottle);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
@HippyControllerProps(name = "scrollMinOffset", defaultType = HippyControllerProps.NUMBER, defaultNumber = 5)
|
|
100
|
+
public void setScrollMinOffset(HippyScrollView view, int scrollMinOffset) {
|
|
101
|
+
view.setScrollMinOffset(scrollMinOffset);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
@HippyControllerProps(name = "initialContentOffset", defaultType = HippyControllerProps.NUMBER, defaultNumber = 0)
|
|
105
|
+
public void setInitialContentOffset(HippyScrollView view, int offset) {
|
|
106
|
+
view.setInitialContentOffset((int)PixelUtil.dp2px(offset));
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
@Override
|
|
110
|
+
public void onBatchComplete(View view) {
|
|
111
|
+
super.onBatchComplete(view);
|
|
112
|
+
|
|
113
|
+
if (view instanceof HippyScrollView) {
|
|
114
|
+
((HippyScrollView)view).scrollToInitContentOffset();
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
@Override
|
|
119
|
+
public void dispatchFunction(View view, String functionName, HippyArray args) {
|
|
120
|
+
//noinspection unchecked
|
|
121
|
+
super.dispatchFunction((ViewGroup) view, functionName, args);
|
|
122
|
+
if (view instanceof HippyScrollView) {
|
|
123
|
+
if (TextUtils.equals(SCROLL_TO, functionName)) {
|
|
124
|
+
int destX = Math.round(PixelUtil.dp2px(args.getDouble(0)));
|
|
125
|
+
int destY = Math.round(PixelUtil.dp2px(args.getDouble(1)));
|
|
126
|
+
boolean animated = args.getBoolean(2);
|
|
127
|
+
|
|
128
|
+
if (animated) {
|
|
129
|
+
((HippyScrollView) view).callSmoothScrollTo(destX, destY, 0);//用默认的动画事件
|
|
130
|
+
} else {
|
|
131
|
+
view.scrollTo(destX, destY);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
if (TextUtils.equals(SCROLL_TO_WITHOPTIONS, functionName) && args != null
|
|
135
|
+
&& args.size() > 0) {
|
|
136
|
+
HippyMap hippyMap = args.getMap(0); //取第一个元素
|
|
137
|
+
int destX = Math.round(PixelUtil.dp2px(hippyMap.getInt("x")));
|
|
138
|
+
int destY = Math.round(PixelUtil.dp2px(hippyMap.getInt("y")));
|
|
139
|
+
int duration = hippyMap.getInt("duration");
|
|
140
|
+
if (duration > 0) {
|
|
141
|
+
((HippyScrollView) view).callSmoothScrollTo(destX, destY, duration);//用默认的动画事件
|
|
142
|
+
} else {
|
|
143
|
+
view.scrollTo(destX, destY);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
//zhaopeng add
|
|
150
|
+
@HippyControllerProps(name = "makeChildVisibleType", defaultType = HippyControllerProps.STRING)
|
|
151
|
+
public void setMakeChildVisibleType(HippyScrollView view, String type){
|
|
152
|
+
if(view != null) {
|
|
153
|
+
if("none".equals(type)){
|
|
154
|
+
((HippyScrollView) view).setRequestChildOnScreenType(HippyScrollView.SCROLL_TYPE_NONE);
|
|
155
|
+
}else if("center".equals(type)){
|
|
156
|
+
((HippyScrollView) view).setRequestChildOnScreenType(HippyScrollView.SCROLL_TYPE_CENTER);
|
|
157
|
+
}else{
|
|
158
|
+
((HippyScrollView) view).setRequestChildOnScreenType(HippyScrollView.SCROLL_TYPE_DEFAULT);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
@HippyControllerProps(name = "useAdvancedFocusSearch", defaultType = HippyControllerProps.BOOLEAN, defaultBoolean = true)
|
|
164
|
+
public void setAdvancedFocusSearch(HippyScrollView view, boolean b)
|
|
165
|
+
{
|
|
166
|
+
view.setAdvancedFocusSearch(b);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
@HippyControllerProps(name = "childOnScreenScrollType", defaultType = HippyControllerProps.NUMBER, defaultNumber = 5)
|
|
170
|
+
public void setScrollType(HippyScrollView view, int type)
|
|
171
|
+
{
|
|
172
|
+
if(view instanceof HippyVerticalScrollView) {
|
|
173
|
+
((HippyVerticalScrollView) view).setScrollType(type);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/* Tencent is pleased to support the open source community by making Hippy available.
|
|
2
|
+
* Copyright (C) 2018 THL A29 Limited, a Tencent company. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
package com.tencent.mtt.hippy.views.scroll;
|
|
17
|
+
|
|
18
|
+
import android.view.ViewGroup;
|
|
19
|
+
|
|
20
|
+
import com.tencent.mtt.hippy.HippyEngineContext;
|
|
21
|
+
import com.tencent.mtt.hippy.HippyInstanceContext;
|
|
22
|
+
import com.tencent.mtt.hippy.common.HippyMap;
|
|
23
|
+
import com.tencent.mtt.hippy.modules.javascriptmodules.EventDispatcher;
|
|
24
|
+
import com.tencent.mtt.hippy.utils.PixelUtil;
|
|
25
|
+
|
|
26
|
+
@SuppressWarnings({"deprecation", "unused"})
|
|
27
|
+
public class HippyScrollViewEventHelper {
|
|
28
|
+
public static final long MOMENTUM_DELAY = 20;
|
|
29
|
+
public static final String EVENT_TYPE_BEGIN_DRAG = "onScrollBeginDrag";
|
|
30
|
+
public static final String EVENT_TYPE_END_DRAG = "onScrollEndDrag";
|
|
31
|
+
public static final String EVENT_TYPE_SCROLL = "onScroll";
|
|
32
|
+
public static final String EVENT_TYPE_MOMENTUM_BEGIN = "onMomentumScrollBegin";
|
|
33
|
+
public static final String EVENT_TYPE_MOMENTUM_END = "onMomentumScrollEnd";
|
|
34
|
+
public static final String EVENT_TYPE_ANIMATION_END = "onScrollAnimationEnd";
|
|
35
|
+
|
|
36
|
+
public static void emitScrollEvent(ViewGroup view) {
|
|
37
|
+
emitScrollEvent(view, EVENT_TYPE_SCROLL);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
public static void emitScrollBeginDragEvent(ViewGroup view) {
|
|
41
|
+
emitScrollEvent(view, EVENT_TYPE_BEGIN_DRAG);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
public static void emitScrollEndDragEvent(ViewGroup view) {
|
|
45
|
+
emitScrollEvent(view, EVENT_TYPE_END_DRAG);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
public static void emitScrollMomentumBeginEvent(ViewGroup view) {
|
|
49
|
+
emitScrollEvent(view, EVENT_TYPE_MOMENTUM_BEGIN);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
public static void emitScrollMomentumEndEvent(ViewGroup view) {
|
|
53
|
+
emitScrollEvent(view, EVENT_TYPE_MOMENTUM_END);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
protected static void emitScrollEvent(ViewGroup view, String scrollEventType) {
|
|
57
|
+
if (view == null) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
HippyMap contentInset = new HippyMap();
|
|
61
|
+
contentInset.pushDouble("top", 0);
|
|
62
|
+
contentInset.pushDouble("bottom", 0);
|
|
63
|
+
contentInset.pushDouble("left", 0);
|
|
64
|
+
contentInset.pushDouble("right", 0);
|
|
65
|
+
|
|
66
|
+
HippyMap contentOffset = new HippyMap();
|
|
67
|
+
contentOffset.pushDouble("x", PixelUtil.px2dp(view.getScrollX()));
|
|
68
|
+
contentOffset.pushDouble("y", PixelUtil.px2dp(view.getScrollY()));
|
|
69
|
+
|
|
70
|
+
HippyMap contentSize = new HippyMap();
|
|
71
|
+
contentSize.pushDouble("width", PixelUtil
|
|
72
|
+
.px2dp(view.getChildCount() > 0 ? view.getChildAt(0).getWidth() : view.getWidth()));
|
|
73
|
+
contentSize.pushDouble("height", PixelUtil
|
|
74
|
+
.px2dp(view.getChildCount() > 0 ? view.getChildAt(0).getHeight() : view.getHeight()));
|
|
75
|
+
|
|
76
|
+
HippyMap layoutMeasurement = new HippyMap();
|
|
77
|
+
layoutMeasurement.pushDouble("width", PixelUtil.px2dp(view.getWidth()));
|
|
78
|
+
layoutMeasurement.pushDouble("height", PixelUtil.px2dp(view.getHeight()));
|
|
79
|
+
|
|
80
|
+
HippyMap event = new HippyMap();
|
|
81
|
+
event.pushMap("contentInset", contentInset);
|
|
82
|
+
event.pushMap("contentOffset", contentOffset);
|
|
83
|
+
event.pushMap("contentSize", contentSize);
|
|
84
|
+
event.pushMap("layoutMeasurement", layoutMeasurement);
|
|
85
|
+
|
|
86
|
+
if (view.getContext() instanceof HippyInstanceContext) {
|
|
87
|
+
HippyEngineContext context = ((HippyInstanceContext) view.getContext()).getEngineContext();
|
|
88
|
+
context.getModuleManager().getJavaScriptModule(EventDispatcher.class)
|
|
89
|
+
.receiveUIComponentEvent(view.getId(), scrollEventType, event);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|