BB中怎样是实现gif图片的动态效果

kldou666 2010-08-17 09:01:21
显示GIF图片可以,但是它不是动态效果,是不是要用到线程啊!
...全文
228 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
惠(xi)斌 2010-10-12
  • 打赏
  • 举报
回复
好东西!有没有来回换屏幕的?
惠(xi)斌 2010-10-11
  • 打赏
  • 举报
回复
很好!谢谢了!~
杨江 2010-09-06
  • 打赏
  • 举报
回复
--------------------------------------------
例子代码中,

下面的代码是用来停止再次调用invoke语句的。
_application.cancelInvokeLater( _timerID );


下面的代码每过200毫秒(0.2秒)invoke一次这个线程,返回一个_timerID
_timerID = _application.invokeLater( this, 200, true );

--------------------------------------------
你也许需要在这个Field外面停止更新,那么你需要做的就是
ProgressAnimationField field = new ProgressAnimationField(.......);
....等一回儿 ...
field.onUndisplay();
yangrunfei 2010-09-06
  • 打赏
  • 举报
回复
????
kldou666 2010-08-19
  • 打赏
  • 举报
回复
Hello,berryreload!
你向我推荐的资源我已经下载下来了,看了一下git图片实现那块,它有这么一个类是处理动画的:
我现在遇到的问题是怎样可以停止动画后让它显示其他内容
import net.rim.device.api.system.*;
import net.rim.device.api.ui.*;

public class ProgressAnimationField extends Field implements Runnable
{
private Bitmap _bitmap;
private int _numFrames;
private int _frameWidth;
private int _frameHeight;

private int _currentFrame;
private int _timerID = -1;

private Application _application;
private boolean _visible;

public ProgressAnimationField( Bitmap bitmap, int numFrames, long style )
{
super( style | Field.NON_FOCUSABLE );
_bitmap = bitmap;
_numFrames = numFrames;
_frameWidth = _bitmap.getWidth() / _numFrames;
_frameHeight = _bitmap.getHeight();

_application = Application.getApplication();
}

public void run()
{
if( _visible ) {
invalidate();
}
}

protected void layout( int width, int height )
{
setExtent( _frameWidth, _frameHeight );
}

protected void paint( Graphics g )
{
g.drawBitmap( 0, 0, _frameWidth, _frameHeight, _bitmap, _frameWidth * _currentFrame, 0 );
_currentFrame++;
if( _currentFrame >= _numFrames ) {
_currentFrame = 0;
}
}

protected void onDisplay()
{
super.onDisplay();
_visible = true;
if( _timerID == -1 ) {
_timerID = _application.invokeLater( this, 200, true );
}
}

protected void onUndisplay()
{
super.onUndisplay();
_visible = false;
if( _timerID != -1 ) {
_application.cancelInvokeLater( _timerID );
_timerID = -1;
}
}
}


kldou666 2010-08-19
  • 打赏
  • 举报
回复
Hello,berryreload!I want your QQ number,OK?
杨江 2010-08-17
  • 打赏
  • 举报
回复
有人做了ProgressAnimationField,参考下面的链接,里面有源代码下载链接


吐血推荐:BlackBerry下定制自己的UI空间,包括Button,Field,Manager
http://blog.csdn.net/BBHeipy/archive/2010/07/09/5723443.aspx
vercity 2010-08-17
  • 打赏
  • 举报
回复
可以解析gif图片 用timer来做吧...
杨江 2010-08-17
  • 打赏
  • 举报
回复
奇怪,为什么有两个链接,你就try了一个呢?我不明白,难道是我笨吗,非要电信和网通的链接都去试试?

不明白。闲聊,发呆
杨江 2010-08-17
  • 打赏
  • 举报
回复
电信下载坏了,找csdn网管投诉。
网通下载链接是好的。
kldou666 2010-08-17
  • 打赏
  • 举报
回复
Hello berryeload , 你刚才推荐的那个链接我去看了,他那儿有个资源下载,可是我怎么也下载不了,是不是已经不可用啦!

1,146

社区成员

发帖
与我相关
我的任务
社区描述
探讨BlackBerry智能手机开发相关的技术、软件、产品等话题。
社区管理员
  • BlackBerry
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧