如何实现Blackberry 5.0及更高版本OS设备的图像滑动?

时间:2012-06-26 05:45:30

标签: blackberry touch gesture

我需要在应用程序中开发滑动功能。为此,我在五个不同的垂直场管理器中添加了五个位图域,这五个垂直场管理器已添加到具有水平滚动属性的水平场管理器中,然后我尝试使用触摸事件实现滑动功能。下面的代码适用于Blackberry 5.0 OS设备,但它不适用于Blackberry 6.0及更高版本的OS设备。

    protected boolean touchEvent(TouchEvent message)
    {

        try{
            int x = message.getX(1);
            int y = message.getY(1);       

            int eventCode = message.getEvent();  
            if(eventCode == TouchEvent.DOWN)
            {
                Dx=x; 
                Dy=y;
            }         
            else if(eventCode == TouchEvent.UP)
            {      

                Ux=x;
                Uy=y;

                disX=  Dx-Ux;
                disY=  Dy-Uy;

                if(disX > (Display.getWidth()/3)  && this.index<6)
                {

                    if(this.index<5)
                        this.index++;
                    vfmImage[this.index].setFocus();
                    System.out.println("disX :"+disX +" differnt :"+(Display.getWidth()/3)+" Index :"+this.index);

                }

                else if(disX < Display.getWidth() -(Display.getWidth() + Display.getWidth()/3)  && index>0)
                {

                    if(this.index>0)
                        this.index--;
                    vfmImage[this.index].setFocus();
                    System.out.println("disX :"+disX +"differnt :"+(Display.getWidth() -(Display.getWidth() + Display.getWidth()/3))+" Index :"+this.index);

                }
                else
                {
                    if(index==0)
                    {
                        vfmImage[1].setFocus();
                    }
                    else
                    {
                        vfmImage[this.index-1].setFocus();
                    }

                    vfmImage[this.index].setFocus();

                }

            }  

        }
        catch (Exception e)
        {
            Dialog.alert("catch");
            e.printStackTrace();
        }
        return super.touchEvent(message);
    }

由于 Devang

0 个答案:

没有答案