在两个Imageview之间来回交叉淡入淡出

时间:2017-07-12 11:26:56

标签: android android-emulator

我已设法使用下面的代码从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);
   }
   }

0 个答案:

没有答案