Как заставить моргнуть текстовое изображение

Ребята, у меня есть текстовое представление, которое мне нужно, чтобы оно мигало, пожалуйста, помогите мне с ним.

 

Я хочу, чтобы текст google мигал

Это устаревший ответ Android до версии 3.0 , пожалуйста, используйте ответ SolArabehety или посмотрите на эту тему.

Оригинальный ответ

 package teste.blink; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.widget.TextView; public class TesteBlinkActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); blink(); } private void blink(){ final Handler handler = new Handler(); new Thread(new Runnable() { @Override public void run() { int timeToBlink = 1000; //in milissegunds try{Thread.sleep(timeToBlink);}catch (Exception e) {} handler.post(new Runnable() { @Override public void run() { TextView txt = (TextView) findViewById(R.id.usage); if(txt.getVisibility() == View.VISIBLE){ txt.setVisibility(View.INVISIBLE); }else{ txt.setVisibility(View.VISIBLE); } blink(); } }); } }).start(); } 

  

Вы можете использовать это:

 TextView myText = (TextView) findViewById(R.id.myText ); Animation anim = new AlphaAnimation(0.0f, 1.0f); anim.setDuration(50); //You can manage the blinking time with this parameter anim.setStartOffset(20); anim.setRepeatMode(Animation.REVERSE); anim.setRepeatCount(Animation.INFINITE); myText.startAnimation(anim); 

Это тот же ответ, который я дал в этом сообщении. Мигающий текст в андроидном представлении

Надеюсь это поможет!

Для этого используйте XML-анимацию:

R.anim.blink

     

Blink Activity: используйте его так:

 public class BlinkActivity extends Activity implements AnimationListener { TextView txtMessage; Button btnStart; // Animation Animation animBlink; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_blink); txtMessage = (TextView) findViewById(R.id.txtMessage); btnStart = (Button) findViewById(R.id.btnStart); // load the animation animBlink = AnimationUtils.loadAnimation(this, R.anim.blink); // set animation listener animBlink.setAnimationListener(this); // button click event btnStart.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { txtMessage.setVisibility(View.VISIBLE); // start the animation txtMessage.startAnimation(animBlink); } }); } @Override public void onAnimationEnd(Animation animation) { // Take any action after completing the animation // check for blink animation if (animation == animBlink) { } } @Override public void onAnimationRepeat(Animation animation) { } @Override public void onAnimationStart(Animation animation) { } } 

Дайте мне знать, если у вас есть какие-либо вопросы.

Создайте AlphaAnimation и примените его к текстовому виду в действии, где вы настраиваете текстовое представление. Мигание будет выполнено путем повторения анимации от 1,0 альфа до 0,0 альфа до 1,0 альфа.


Изменить : Google обеспечивает .

Не нужно устанавливать для этого. Просто альфа:

аним / flash_leave_now.xml

    

И в коде:

 mTextView.setAnimation(AnimationUtils.loadAnimation(getContext(), R.anim.flash_leave_now)); 

Вы можете сделать анимацию или, может быть, почему бы не сделать ее View.VISIBLE и View.INVISIBLE с помощью таймера? Я думаю, что лучший способ – анимация с альфой действительно 🙂

Учтивость к верхнему ответу, вот что я сделал:

  textBlink = new TimerTask() { int countdown = 10; @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { if (countdown <= 0) { timer.cancel(); textview.setVisibility(View.GONE); } else { textview.setVisibility(textview.getVisibility() == View.VISIBLE?View.GONE:View.VISIBLE); countdown--; } } }); } }; 

то где-то на коде:

  timer = new Timer(); timer.scheduleAtFixedRate(textBlink,0,500); 

Это будет иметь эффект мигания в течение 5 секунд. Рекомендуется, если вы не хотите эффекта fadeIn-fadeOut.

 private fun blink() { val handler = Handler() Thread(Runnable { val timeToBlink = 500 //in milissegunds try { Thread.sleep(timeToBlink.toLong()) } catch (e: Exception) { } handler.post(Runnable { if (usage.visibility == View.VISIBLE) { usage.visibility = View.INVISIBLE } else { usage.visibility = View.VISIBLE } blink() }) }).start() } 

Вот моя вспомогательная реализация с использованием альфа-анимации:

  public void blinkText(final TextView text_to_animate, int durationMillis) { final AlphaAnimation fade_out = new AlphaAnimation(1.0f, 0.0f); //ScaleAnimation scale_it = new ScaleAnimation(1.0f, 1.25f, 1.0f, 1.25f); fade_out.setDuration(durationMillis); final AlphaAnimation fade_in = new AlphaAnimation(0.0f, 1.0f); //ScaleAnimation scale_it = new ScaleAnimation(1.0f, 1.25f, 1.0f, 1.25f); fade_in.setDuration(durationMillis); fade_out.setAnimationListener(new AnimationListener() { public void onAnimationEnd(Animation arg0) { // TODO Auto-generated method stub if (recording == true) text_to_animate.startAnimation(fade_in); } public void onAnimationRepeat(Animation arg0) { // TODO Auto-generated method stub } public void onAnimationStart(Animation arg0) { // TODO Auto-generated method stub } }); fade_in.setAnimationListener(new AnimationListener() { public void onAnimationEnd(Animation arg0) { // TODO Auto-generated method stub if (recording == true) text_to_animate.startAnimation(fade_out); } public void onAnimationRepeat(Animation arg0) { // TODO Auto-generated method stub } public void onAnimationStart(Animation arg0) { // TODO Auto-generated method stub } }); text_to_animate.startAnimation(fade_out); } 
Interesting Posts
Давайте будем гением компьютера.