2017-04-03 9 views
1

私はImageButtonを持っており、それをランダムにフェードインしてしばらくしてからフェードアウトしたいと思っています。ランダムな時間間隔でフェードイン/アウト

どうすればいいですか?

スレッドを使用していますか?サービスがありますか?何か他に?

申し訳ありませんが非常に初心者の質問です。ありがとう

+0

ちょうど記録のために:最初に検索エンジンを使用してみてください。あなたは他の人が何度も似たようなことを尋ねたことに驚くでしょう... – GhostCat

答えて

1

imageButtonを1〜5秒の間隔でフェードイン/フェードインします。

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(); 
} 
+0

フェードインとフェードアウトの時間を制御できますか? –

+0

@MariaGeorgali、 'setDuration(ms)'を介して。答えを更新しました。 – azizbekian