Есть ли способ, в коде, постоянно делать кнопку вспышки и затем мигать при нажатии?
Android - Как я могу сделать кнопку вспышкой?
Ответ 1
Есть несколько, в зависимости от того, какой мигание вы имеете в виду.
Вы можете, например, использовать альфа-анимацию и начать ее, когда появится ваша кнопка. И когда пользователь нажимает кнопку, в OnClickListener
просто сделайте clearAnimation()
.
Пример:
public void onCreate(Bundle savedInstanceState) {
final Animation animation = new AlphaAnimation(1, 0); // Change alpha from fully visible to invisible
animation.setDuration(500); // duration - half a second
animation.setInterpolator(new LinearInterpolator()); // do not alter animation rate
animation.setRepeatCount(Animation.INFINITE); // Repeat animation infinitely
animation.setRepeatMode(Animation.REVERSE); // Reverse animation at the end so the button will fade back in
final Button btn = (Button) findViewById(R.id.your_btn);
btn.startAnimation(animation);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(final View view) {
view.clearAnimation();
}
});
}
Ответ 2
Вы можете использовать этот код, а также вы можете выбрать время мигания кнопки через mAnimation.setDuration(200);. Код выглядит следующим образом.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
select=(Button)findViewById(R.id.bSelect);
Animation mAnimation = new AlphaAnimation(1, 0);
mAnimation.setDuration(200);
mAnimation.setInterpolator(new LinearInterpolator());
mAnimation.setRepeatCount(Animation.INFINITE);
mAnimation.setRepeatMode(Animation.REVERSE);
select.startAnimation(mAnimation);
select.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.clearAnimation();
}
});
}
Ответ 3
Вы также можете использовать Анимация кадров