我已设法使用下面的代码从ImagView1交叉淡入淡出到Imagview 2。我把函数“淡化”给iron1。
public void fade(View view)
{
ImageView img1= (ImageView) findViewById(R.id.iron1);
img1.animate().alpha(0f).setDuration(2000);
ImageView img2= (ImageView) findViewById(R.id.iron2);
img2.animate().alpha(1f).setDuration(2000);
}
现在,当我交叉淡入第二张图像时; iron2。现在,我想交叉淡入第一张图像,所以,我创建了这个代码,将“fade”点击on iron1和fade2 on iron2。
public void fade(View view)
{
ImageView img1= (ImageView) findViewById(R.id.iron1);
img1.animate().alpha(0f).setDuration(2000);
ImageView img2= (ImageView) findViewById(R.id.iron2);
img2.animate().alpha(1f).setDuration(2000);
}
public void fade2(View view)
{
ImageView img2= (ImageView) findViewById(R.id.iron2);
img2.animate().alpha(0f).setDuration(2000);
ImageView img1= (ImageView) findViewById(R.id.iron1);
img1.animate().alpha(1f).setDuration(2000);
}
现在,应用程序加载,当我点击时,没有从image1到2的转换,甚至更早发生。有帮助吗?我认为因为两个图像相互重叠,所以它们同时被点击。
更新:我可以通过按钮点击来交叉淡入淡出。单击图像本身时,任何人都可以帮助我不使用按钮吗?
public void fade3(View view)
{
ImageView img1= (ImageView) findViewById(R.id.iron1);
Log.i("Alpha", String.valueOf(img1.getAlpha()));
ImageView img2= (ImageView) findViewById(R.id.iron2);
if(img1.getAlpha()==1)
{
Log.i("Alpha", String.valueOf(img1.getAlpha()));
img1.animate().alpha(0f).setDuration(2000);
img2.animate().alpha(1f).setDuration(2000);
}
else
{
img2.animate().alpha(0f).setDuration(2000);
img1.animate().alpha(1f).setDuration(2000);
}
}