【问题标题】:Android fade In and fade out 2 imagesAndroid 淡入淡出 2 张图片
【发布时间】:2017-02-06 21:15:49
【问题描述】:

在 Android 中,我尝试在单击图像时淡入和淡出 2 个图像。例如:如果我单击 image1,它会淡出(消失),而 image2 会淡入(我可以看到),当我单击图像 2 时,它会淡出并显示me image1(淡入)。但这里的问题是褪色没有按预期发生。

package com.example.sandeep.myapplication;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;

public class MainActivity extends Activity {

public void fade(View view){
ImageView img1=(ImageView) findViewById(R.id.img1);
ImageView img2=(ImageView) findViewById(R.id.img2);
img1.animate().alpha(0f).setDuration(2000);
img2.animate().alpha(1f).setDuration(2000);
Log.i("Info:","fade method running");

}

public void fade1(View view) {
    ImageView img1 = (ImageView) findViewById(R.id.img1);
    ImageView img2 = (ImageView) findViewById(R.id.img2);
    img2.animate().alpha(0f).setDuration(2000);
    img1.animate().alpha(1f).setDuration(2000);
    Log.i("Info:","fade1 method running");
}
    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

}
}

因此,当我单击图像时,只有 fade1() 方法运行,我应该在 dirrenent 屏幕位置上多次单击以使 fade2() 方法运行。在我的控制台中,我得到了下面提到的日志,

 02-07 02:29:44.088 10720-10720/com.example.sandeep.myapplication I/Info::           

 fade1 method running
 02-07 02:29:49.728 10720-10720/com.example.sandeep.myapplication I/Info::   

 fade1 method running

 [ 02-07 02:29:50.005  8757: 8757 E/         ]
 [adb] handle_packet() t->online(1) p->msg.arg0(23439) p->msg.arg1(0) OPEN


 [ 02-07 02:29:50.005  8757: 8757 E/         ]
 [adb] handle the adb command, and the command = adb shell:cat   

  /proc/net/xt_qtaguid/stats | grep 10181

 [ 02-07 02:29:50.032  8757: 8757 E/         ]
 [adb]   cuurent command is A_CLSE 

请帮忙解决这个问题。

【问题讨论】:

    标签: android android-layout android-animation


    【解决方案1】:
    ImageView img1 = (ImageView) findViewById(R.id.img1);
    ImageView img2 = (ImageView) findViewById(R.id.img2);
    img2.setVisibility(View.GONE);
    
    img1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
    fadeIn(img1, img2);
       }
    });
    
    img2.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
        fadeOut(img1, img2);
           }
        });
    
    public void fadeIn(ImageView img1, ImageView img2) {
                Animation fadeIn = new AlphaAnimation(0, 1);
                fadeIn.setInterpolator(new AccelerateInterpolator());
                fadeIn.setDuration(1000);
                fadeIn.setAnimationListener(new Animation.AnimationListener() {
                    @Override
                    public void onAnimationStart(Animation animation) {
                        img2.setVisibility(View.VISIBLE);
                    }
                    @Override
                    public void onAnimationEnd(Animation animation) {
                    }
                    @Override
                    public void onAnimationRepeat(Animation animation) {
                    }
                });
    
                img2.startAnimation(fadeIn);
                img1.setVisibility(View.GONE);
            }
    
    public void fadeOut(ImageView img1, ImageView img2) {
     Animation fadeOut = new AlphaAnimation(1, 0);
                    fadeOut.setInterpolator(new AccelerateInterpolator());
                    fadeOut.setDuration(1000);
                    fadeOut.setAnimationListener(new Animation.AnimationListener() {
                        @Override
                        public void onAnimationStart(Animation animation) {
                        }
    
                        @Override
                        public void onAnimationEnd(Animation animation) {
                            img2.setVisibility(View.GONE);
                        }
    
                        @Override
                        public void onAnimationRepeat(Animation animation) {
    
                        }
                    });
    
                    img2.startAnimation(fadeOut);
                    img1.setVisibility(View.VISIBLE);
                }
            });
     }
    

    希望它对你有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 2011-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-23
      • 2019-06-08
      相关资源
      最近更新 更多