Dec 232008
黑莓设备上滚轮很经典,但是滚轮也有局限性,只能纵向不能横向滚动,所以渐渐被轨迹球所取代,在编程中有些时候可能想让滚轮和轨迹球的操作有所区别,因为滚轮只有上下也就是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% [?]
Posted by bbdev at 10:48 pm
Tagged with: blackberry, movement, navigation, trackwheelroll
大哥,你能开发一个代替滚轮滚动的软件吗?滚轮太容易坏了!
Reply
大哥有能力开发轨迹球的函数不,我轨迹球用的厉害啊
Reply
大哥,你能开发一个代替滚轮滚动的软件吗?滚轮太容易坏了
Reply
按ALT+滚轮可以实现纵向滚动的
Reply
bbdev Reply:
January 5th, 2009 at 1:39 pm
是可以,只是不太方便,需要双手操作
Reply
继续顶
Reply
恩。。。。
Reply