안드로이드, bitmap 전환 fade in & fade out sample code |
뭐 완벽하며 부드러운 구현은 아니지만, 그래도 image 가 그냥 "확" 바뀌는 어색함을 막기 위해서 fade in, fade out 을 어떻게 이용할 수 있을까 idea 를 제시한다.
public class MainActivity extends Activity {
private int[] resIds = new int[]{ R.drawable.black, R.drawable.blue };
private int index = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById( R.id.btn1 ).setOnClickListener( new OnClickListener() {
@Override
public void onClick(View v) {
changeImageWithFadeInAndOut( MainActivity.this, (ImageView)findViewById( R.id.img1 ), resIds[ index ] );
if ( index == 0 )
index = 1;
else
index = 0;
}
});
}
private void changeImageWithFadeInAndOut( Context context, final ImageView imageView, final int resID ){
final Animation fadeInAnimation = AnimationUtils.loadAnimation( context, R.anim.fade_in );
Animation fadeOutAnimation = AnimationUtils.loadAnimation( context, R.anim.fade_out );
fadeOutAnimation.setAnimationListener( new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) { }
@Override
public void onAnimationRepeat(Animation animation) { }
@Override
public void onAnimationEnd(Animation animation) {
imageView.setImageResource( resID );
imageView.startAnimation( fadeInAnimation );
}
});
imageView.startAnimation( fadeOutAnimation );
}
}
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[Java] HashMap 과 HashTable 의 차이는? (0) | 2013.08.20 |
---|---|
[android] screen size 와 px, dp, config 에 대한 핵심 정리 (2) | 2013.08.20 |
[Java] Thread 의 상태에 대한 이야기 (0) | 2013.08.19 |
[android] AsyncTask 의 cancel 에 대한 이야기. 변태야 ㅠ (0) | 2013.08.18 |
[Java] 왜 InputStream 의 read() 는 byte 가 아닌 int 를 반환하는가? (0) | 2013.08.18 |
댓글