|
|
1
35
费明,安东尼+1.谢谢大家,你给了我部分答案。
1.创建或生成( free Ajax loading gif generator )动画并将其添加到项目中。 2.创建ResponseCallback接口(参见 Coderholic - Blackberry WebBitmapField )接收线程执行结果:
3.创建一个类来处理后台线程作业。在我的例子中,是HTTP请求:
4.创建waitscreen(全屏和 AnimatedGIFField 带ResponseCallback接口):
5.最后,创建开始屏幕调用httpconnector.httpgetstream并显示waitscreen:
更新: 另一个解决方案 naviina.eu: A Web2.0/Ajax-style loading popup in a native BlackBerry application |
|
|
2
4
这种情况的基本模式是: 让一个线程运行一个循环,该循环更新一个变量(例如动画图像的帧索引),然后在绘制图像的字段上调用invalidate(无效),然后休眠一段时间。无效将对字段的重新绘制进行排队。 在字段的绘制方法中,读取变量并绘制适当的图像帧。 伪代码(不是完全完整的,但为了给你一个想法):
注意这里我还使用了一组位图,但是EncodeDimage允许您将动画GIF视为一个对象,并且包括获取特定帧的方法。 编辑:为了完整性:将其添加到弹出屏幕(如fermin的答案)或直接覆盖屏幕创建您自己的对话框。独立线程是必需的,因为RIM API不是线程安全的:您需要在事件线程上执行所有与UI相关的操作(或者在保持事件锁的同时,请参见 BlackBerry UI Threading - The Very Basics |
|
|
3
4
这是加载屏幕的简单代码….
|
|
|
4
3
如果只是一个动画,你能展示一个 animated gif 在弹出窗口上,并在加载操作完成时关闭它? |
|
|
5
2
最简单的方法可能是使用标准GaugeField,设置样式GaugeField.Percent。这会给你一个进度条。将此添加到弹出屏幕,它将位于内容的顶部。比如……
然后有一个更新方法,它将使用_GaugeField.setValue(newValue);来更新进度条。 我通常从执行工作的线程调用这个(在您的例子中,每次操作完成时,都会更新进度条)。 |
|
|
7
1
如果您至少使用BB OS 6.0,那么ActivityIndicator是一个不错的选择。 http://www.brighthub.com/mobile/blackberry-platform/articles/94258.aspx http://docs.blackberry.com/en/developers/deliverables/17966/Screen_APIs_1245069_11.jsp |
|
|
Carlo Barrogo · 存储文本字段中的值 8 年前 |
|
|
James Harpe · LWUIT:设计按钮样式 12 年前 |
|
|
KopetePanda · J2ME Sms发送n85的权限以抑制安全警告 13 年前 |
|
|
user1554336 · 在j2me中设置图像 13 年前 |
|
|
Tiktac · 使J2ME应用程序在后台运行,而另一个应用程序仍然可以工作 13 年前 |
|
|
gskartwii · 无效的应用程序。删去在诺基亚手机上 14 年前 |
|
|
Marc Byfield · 在J2ME中解析JSON 14 年前 |