使用Blackberry JAVA SDK 6.0活动指示器UI元素加载屏幕轮

问题描述 投票:1回答: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/

blackberry splash-screen activity-indicator
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();
© www.soinside.com 2019 - 2024. All rights reserved.