1

在我的项目中,我想在我的 http 连接发生时显示一个带有滚轮图像(可能带有 .gif 文件)的加载屏幕。

我的代码如下。它扩展了一个扩展 MainScreen 的类。当用户单击登录按钮时,我会显示此屏幕。

public class MSWheelScreen extends MSScreen{



//Constructor
public MSWheelScreen(){
    super();

    add(new SeparatorField());
    add(new LabelField("Loading...", Field.FIELD_HCENTER));
    add(new SeparatorField());
    add(new LabelField());


    ActivityIndicatorView myview = new ActivityIndicatorView(Field.USE_ALL_WIDTH);
    ActivityIndicatorModel mymodel = new ActivityIndicatorModel();
    ActivityIndicatorController mycontroller = new ActivityIndicatorController();

    myview.setController(mycontroller);
    myview.setModel(mymodel);

    mycontroller.setModel(mymodel);
    mycontroller.setView(myview);

    mymodel.setController(mycontroller);




    Bitmap mybitmap = Bitmap.getBitmapResource("img/wheel.gif");

    myview.createActivityImageField(mybitmap, 5, Field.FIELD_HCENTER);
    add(myview);

}



}

反正; 我的问题是,我无法显示我想要的车轮图像。我只能看到轮子的一部分,当我在浏览器中打开它时,我无法看到整个 .gif 文件。所以我想调整我在加载屏幕上添加的 .gif 文件。我想知道一些可以与活动指示器 UI 元素一起使用来调整我的 gif 的内置方法。

我的示例运行屏幕截图的链接:

http://imageshack.us/photo/my-images/191/9800j.jpg/

原始gif的链接。

http://imageshack.us/photo/my-images/810/ajaxloaderw.gif/

4

1 回答 1

2

很难用 .gif bcz 实现加载屏幕,它需要一个处理 .gif 图像的线程所以我总是像这样在黑莓中实现加载屏幕:

这是加载屏幕的简单代码....

                HorizontalFieldManager popHF = new HorizontalFieldManager();
                popHF.add(new CustomLabelField("Pls wait..."));
                final PopupScreen waitScreen = new PopupScreen(popHF);
                new Thread()
                {
                    public void run() 
                    {

                        synchronized (UiApplication.getEventLock()) 
                        {
                            UiApplication.getUiApplication().pushScreen(waitScreen);
                        }
                       //Here Some Network Call 

                       synchronized (UiApplication.getEventLock()) 
                        {
                            UiApplication.getUiApplication().popScreen(waitScreen);
                        }
                     }
                 }.start();
于 2012-03-15T10:26:17.817 回答