2011-11-10 3 views
1

하나는 메인 버튼이고, 다른 것은 아이이며, 아이 버튼을 터치하면 메인 버튼에 깜박 거리기를 원합니다.다른 버튼을 클릭하면 버튼 하나에 깜박임 효과가 생깁니 까 ....?

나는 모든 자식 버튼에 onTouchListener를 사용하고 있습니다. 이러한 수신기에서는 메인 버튼을 깜박이는 데 사용한 메소드를 호출하고 있습니다.

방법.

public void refreshMainButton() { 
     Bitmap b1 = Bitmap.createBitmap(BitmapFactory.decodeResource(
       getResources(), R.drawable.tabouterover_one)); 
     Bitmap b2 = Bitmap.createBitmap(BitmapFactory.decodeResource(
       getResources(), R.drawable.tabouterover_two)); 
     Bitmap b3 = Bitmap.createBitmap(BitmapFactory.decodeResource(
       getResources(), R.drawable.tabouterover_three)); 
     Bitmap b = Bitmap.createBitmap(BitmapFactory.decodeResource(
       getResources(), R.drawable.tabmain_two)); 

     BitmapDrawable d1 = new BitmapDrawable(b1); 
     outerImageViews[1].setBackgroundDrawable(d1); 
     BitmapDrawable d2 = new BitmapDrawable(b2); 
     outerImageViews[1].setBackgroundDrawable(d2); 
     BitmapDrawable d3 = new BitmapDrawable(b3); 
     outerImageViews[1].setBackgroundDrawable(d3); 

     try { 
      wait(1000); 
     } catch (Exception e) { 
     } 
     BitmapDrawable d4 = new BitmapDrawable(b); 
     outerImageViews[1].setBackgroundDrawable(d4); 
    } 

이것은 주 버튼에 영향을 미치지 않습니다.

아무도 모른다면 제발 도와주세요.

미리 감사드립니다 ...!

답변

-1

이 효과를 보관하려면 animations을 사용하는 것이 좋습니다.

Android가 활동에 매우 가혹한 한계를 가지고 있습니다. 활동이 특정 시간 (내가 5 초라고 추측합니다) 내에 응답하지 않으면 응용 프로그램이이를 끝내는 대화 상자를 표시합니다. 이 함정에 당신은 wait 구조로 (아마도) 실행됩니다.

이제 이것을 스레드에 배치하는 것이 좋습니다. 그러나 UI는 활동 내부에서만 조작 될 수 있기 때문에이 방법은 효과가 없습니다.

그래서 애니메이션을 만들고 시작하십시오. 안드로이드는 재설정을 할 것입니다 :) 내가 도울 수 있기를 바랍니다.

+0

응답 해 주셔서 감사합니다. 그러나 어떤 애니메이션이 버튼 배경 이미지 변경에 도움이 될 것입니다 ..? – Noby

+0

당신의 문제를 올바르게 이해했다면 - 그렇습니다. 답변에있는 링크를 사용하여 아래로 스크롤하십시오. 배경을 변경하는 방법을 보여주는 예가 있습니다. (이 경우에는 ImageView이지만 중요하지 않아야합니다.) – Mark

관련 문제