黑莓设备上滚轮很经典,但是滚轮也有局限性,只能纵向不能横向滚动,所以渐渐被轨迹球所取代,在编程中有些时候可能想让滚轮和轨迹球的操作有所区别,因为滚轮只有上下也就是Y轴的滚动,而轨迹球是4方向的,有X轴的滚动也有Y轴的滚动,在JDK4.2之前,由于没有轨迹球,只有滚轮一种情况。一般通过重载screen类的trackwheelRoll函数实现

     protected boolean trackwheelRoll(int amount,int status,int time)
    {
        //todo
        return super.trackwheelRoll(amount,status,time);
    }

amout大于0表示向下滚,反之表示向上滚,但是此方法只能判断Y轴的滚动,X轴滚动虽然也会有消息收到,但amount始终等于0,无法判断是向左还是向右滚动。
在JDK4.2推出之后,新增了一个接口,如下

   protected boolean navigationMovement(int dx,int dy,int status,int time)
    {
        if(status == KeypadListener.STATUS_FOUR_WAY) //轨迹球
        {
            if(dx 〉 0)
            {
                //向右滚动
            }
            else if(dx 〈 0)
            {
                //向左滚动
            }
            else if(dy 〉 0)
            {
                //向下滚动
            }
            else if(dy 〈  0)
            {
                //向上滚动
            }
        }
        else if(status ==  KeypadListener.STATUS_TRACKWHEEL)//滚轮
        {
            if(dy 〉 0)
            {
                //向下滚动
            }
            else if(dy 〈 0 )
            {
                //向上滚动
            }
        }
        return super.navigationMovement(dx,dy,status,time);
    }

Popularity: 2% [?]

7 Responses to “黑莓编程区别滚轮和轨迹球”

  1. 大哥,你能开发一个代替滚轮滚动的软件吗?滚轮太容易坏了!

    Reply

  2. 大哥有能力开发轨迹球的函数不,我轨迹球用的厉害啊

    Reply

  3. 大哥,你能开发一个代替滚轮滚动的软件吗?滚轮太容易坏了

    Reply

  4. 按ALT+滚轮可以实现纵向滚动的

    Reply

    bbdev Reply:

    是可以,只是不太方便,需要双手操作

    Reply

Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

© 2010 黑莓风暴 Suffusion theme by Sayontan Sinha