2015-01-16 4 views
0

현재 ImageView가 건물 인 응용 프로그램의 일부에서 작업하고 있습니다. 사용자의 레벨에 따라 무작위 숫자가 건물의 건강 상태에서 취한 총 히트 포인트로 선택됩니다.ImageView 위에 애니메이션 표시

예를 들어 사용자의 레벨이 1이면 "hitpoints"라는 0과 10 사이의 난수가 생성됩니다. 내 질문은 ImageView를 통해이 난수의 애니메이션을 표시하는 가장 좋은 방법은 무엇입니까?

나는 건물의 여러 이미지를 모두 위에 그려진 다른 숫자로 만들 수 있다고 생각 했었지만 이미지의 약 50 복사본을 만들면 너무 많은 공간을 차지하게되었습니다.

그래서이 임의의 값을 삽입 할 수있는 ImageView 위에 작은 애니메이션을 표시하는 방법이 있습니까?

도움 주셔서 감사합니다.

답변

1

그럼 당신은 이미지 뷰와 FrameLayout이있는 텍스트 뷰 넣을 수 있습니다 : 당신은 당신이 원하는 애니메이션의 어떤 종류의 지정하지 않은 애니메이션으로

<FrameLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" > 

    <ImageView 
     android:id="@+id/building" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/your_building_image" /> 

    <TextView 
     android:id="@+id/number" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" /> 

</FrameLayout> 

을 (페이드 인/아래로 밀어/left/right, etc.). 숫자가 포함 된 TextView를 애니메이션으로 만들려고 할 때마다 아래에 설명 된 것과 같이해야합니다.

애니메이션에 대한 작업에서 메소드를 만듭니다 (예는 페이드입니다). 애니메이션 있음) :

private Animation fadeInAnimation() { 
    Animation animation = new AlphaAnimation(0f, 1.0f); 
    animation.setDuration(1000); // in milliseconds 
    animation.setFillEnabled(true); 
    animation.setFillAfter(true); 
    return animation; 
} 

number.setText(yourRandomNumber.toString()); 
number.startAnimation(fadeInAnimation()); 
:

...

TextView number = (TextView) findViewById(R.id.number); 

위의 메소드를 호출하여 텍스트 뷰를 애니메이션

관련 문제