无法在scrollableview中捕获滑动事件以更改视图中的按钮状态

时间:2017-11-10 05:57:03

标签: swipe-gesture appcelerator-alloy

这是我的第一个问题所以请善待我。在Appcelerator中,我有一个Alloy / MVC应用程序,我在使用可滚动视图。我在屏幕底部创建了一个自定义按钮栏,它包含在一个单独的视图中。如果我单击一个按钮,我可以让它更改按钮图形并移动到该页面,但我似乎无法弄清楚如何在刷到另一个页面后更改按钮图形。我已经尝试在scrollableview和它的父窗口上使用事件监听器,它将捕获(警告)' up'并且' down'滚动事件,但不会捕获' left'并且'对'事件。似乎这些事件以某种方式被编码为仅与可滚动视图的分页相关联。我的目标是捕获左/右事件,然后使用它来触发更改按钮图形的功能。有没有人知道如何捕获事件或解决问题?

以下是代码示例:

INDEX.XML

<Alloy>
    <Window id="mainWindow">
        <ScrollableView id="contentView">
            <Require src="myController0"/>
            <Require src="myController1"/>
            <Require src="myController2"/>
            <Require src="myController3"/>
        </ScrollableView>
        <View id="navBarBackground"/>
        <Button id="b0" onClick="button0"/>
        <Button id="b1" onClick="button1"/>
        <Button id="b2" onClick="button2"/>
        <Button id="b3" onClick="button3"/>
    </Window>
</Alloy>

index.js

$.contentView.addEventListener('swipe', function(e){
alert(e.direction);
});

任何建议都将不胜感激。感谢。

0 个答案:

没有答案