以随机时间间隔淡入/淡出

时间:2017-04-03 15:01:34

标签: android android-animation android-view

我有一个ImageButton,我想让它随机淡出并在一段时间后淡出。

我该怎么做?

用线程?有服务吗?与其他东西?

很抱歉,如果这是一个非常新手的问题。谢谢

1 个答案:

答案 0 :(得分:1)

这将以1-5秒的随机间隔淡出/淡出imageButton

private boolean fadeIn = false;
private final Random rand = new Random();

...

final Handler handler = new Handler(Looper.getMainLooper());
final Runnable runnable = new Runnable() {
    @Override
    public void run() {
      imageButton.animate().alpha(fadeIn ? 1.0f : 0.0f).setDuration(500).withEndAction(new Runnable() {
          @Override
          public void run() {
              fadeIn = !fadeIn;
          }
      });
      handler.postDelayed(this, randInt(1000, 5000));
    }
};
handler.post(runnable);

...

public int randInt(int min, int max) {
    return rand.nextInt((max - min) + 1) + min;
}

@Override
protected void onDestroy() {
    handler.removeCallbacks(runnable);
    super.onDestroy();
}