2011-08-22 4 views
1

내 프로젝트에서 http 연결이 이루어지는 동안 롤링 휠 이미지 (.gif 파일 일 가능성이 있음)가있는 로딩 화면을 표시하려고합니다.Blackberry JAVA SDK 6.0을 사용하여 스크린 휠로드하기 Activity Indicator UI 요소

내 코드는 다음과 같습니다. 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 파일을 조정하고 싶습니다. gif를 조정하기 위해 액티비티 표시기 UI 요소와 함께 사용할 수있는 메서드가 내장되어 있는지 알고 싶습니다.

내 샘플 실행 스크린 샷에 대한 링크 : 원래 GIF에 대한

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

링크.

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

답변

2

그것은 그래서 난 항상이 같은 블랙 베리에 로딩 화면을 구현 .gif 참고 이미지 을 처리 할 또 하나 개의 스레드를 요구 .gif 중요 BCZ과 로딩 화면을 구현하기 어렵다 :

이 간단한 코드입니다 화면로드 중 ...

   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(); 
+0

감사합니다. –

+0

구현이 훌륭하고 제대로 작동합니다. –