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画像を処理するスレッドがもう1つ必要だったので、私は常に次のようにロード画面をブラックベリーで実装します。

これは、画面をロードするための単純なコードです...。

                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 に答える