问题描述
|
我想为两个图像视图提供淡入淡出效果
我有两个图像视图,一个重叠在另一个图像上,我的意思是两个图像视图在另一个之上,
当我们单击上方的图像视图时,它应淡出,而下方的图像视图应可见。对于第二个单击较低的图像视图,它应淡出并显示第一个视图。
当我单击上方的图像视图时,较低的人会出现,但是当我单击下方的图像时,它不会褪色,它会保留在那里。
请问如何才能做到这一点?
这是我的代码:
mswtview4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FadeoutAnimation.reset();
mswtview4.startAnimation(FadeoutAnimation);
FadeoutAnimation.setFillAfter(true);
mswtview4.setVisibility(View.GONE);
}
});
mswtview2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FadeoutAnimation.reset();
mswtview2.startAnimation(FadeoutAnimation);
FadeoutAnimation.setFillAfter(true);
mswtview4.setVisibility(View.VISIBLE);
}
});
解决方法
AlphaAnimation fadeIn = new AlphaAnimation(0.0f,1.0f ) ;
fadeIn.setDuration(1200);
fadeIn.setFillAfter(true);
AlphaAnimation fadeOut = new AlphaAnimation( 1.0f,0.0f ) ;
fadeOut.setDuration(1200);
fadeOut.setFillAfter(true);
mswtview4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mswtview4.startAnimation(fadeOut);
mswtview4.setVisibility(View.GONE);
}
});
mswtview2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mswtview2.startAnimation(fadeIn);
mswtview4.setVisibility(View.VISIBLE);
}
});