2013-05-07 3 views
0

애니메이션을 사용하기 때문에 아주 기본적인 것을하고 싶습니다. 그래서 같은 루프 : '뷰에Android에서보기 애니메이트하기

  • 업데이트 비트 맵
  • 수면이 100ms
  • 디스플레이 비트 맵 "mabm는"

내 코드는 첫 번째 루프를 수행 한 번만 작동하고, 내가 할 수있는 다른 루프를위한 해결책을 찾을 여유가 없다. 가장 간단한 방법은 무엇입니까? 도움을 주셔서 감사합니다.

내 코드 :

Bitmap mabm= Bitmap.createBitmap(400,400,Bitmap.Config.ARGB_8888); 
final Drawable d =new BitmapDrawable(mabm); 

/* more code here */ 

Taff=new Thread(new Runnable() { 

    // voir : android updating a view repeatedly 

    @Override 
    public void run(){         
     try { 
      Thread.sleep(100); 
     } catch (InterruptedException e) { 
      //empty catch 
     } 

     deco.decompp() ; // this method updates mabm   

     runOnUiThread(new Runnable() { 
      @Override 
      public void run() { 
       //Drawable d =new BitmapDrawable(mabm); 
       ds.setBackgroundDrawable(d); 
      }        
     }); 
    } 
); 
+1

코드의 루프는 어디에 있습니까? 나는 그것이이 부분을 놓친다 고 생각한다. – Guian

답변

0

사실이 스레드 태프은 (느린 장치 인 스마트 카드를 읽고)를 다른 스레드에 의해 트리거 될하기위한 것입니다. 그러나 귀하의 질문을 이해하는 데 도움이 Taff.start() Taff의 새 실행을 트리거하지 않으며이 목적으로 사용할 수 없습니다. 그래서 Taff의 코드를 실제 루프로 변경했습니다. 이제 작동합니다! 도움 주셔서 감사합니다.

관련 문제