问题描述
我正在使用 Java SDK 在 HarmonyOS 中编写一个自定义组件,它是一个自定义页面滑块指示器。为此,我添加了一个 PageChangedListener
,它提供了三种覆盖方法。
public class CustomPageSliderIndicator extends Component implements PageSlider.PageChangedListener{
@Override
public void onPageSliding(int position,float positionOffset,int positionOffsetPixels) {}
@Override
public void onPageChosen(int i) {}
@Override
public void onPageSlideStateChanged(int i) { }
}
每当用户滑动页面时,都会调用 onPageSliding
,这里我面临的问题是,左右滑动的 position
和 positionOffset
是相同的。
那么,如何知道滑动的方向?
解决方法
onPageSliding
会在用户滑动页面时被调用,与 PageSliderIndicator
关系不大。
position
中的 positionOffset
和 pageslider
的值是相同的。这个回调参数目前是这样设计的。
void onPageSliding(int itemPos,float itemPosOffset,int itemPosOffsetPixels)
如果该参数设置为左右滑动,则第三个参数itemPosOffsetPixels
表示方向。向右滑动为正,向左滑动为负。