安卓开发Android开发经验谈Android开发

Android代码实现控件闪烁

2018-05-14  本文已影响112人  奔跑的佩恩

前言

好久没有写简书了,最近项目比较忙,现在估计要闲段时间吧。今天记录下开发过程中需要使用到的一个简单知识点,算是以作后备之用吧。
在项目开发过程中,我们有时会遇到需要控件闪烁和停止的问题,这个用xml是可以实现的,但是为了在使用时控制方便,这里我写了一个工具类,方便在代码中控制view的闪烁与停止。

讲解内容:

  1. 控件闪烁帮助类FlashHelper
  2. 代码的使用
  3. 效果图

一. 控件闪烁帮助类FlashHelper

package com.android.testdemo;

import android.view.View;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.LinearInterpolator;

/**
 * Title:控件闪烁帮助类
 * Description:
 * <p>
 * Created by pei
 * Date: 2018/4/22
 */
public class FlashHelper {

    private FlashHelper() {}

    private static class Holder {
        private static FlashHelper instance = new FlashHelper();
    }

    public static FlashHelper getInstance() {
        return FlashHelper.Holder.instance;
    }


    /**开启View闪烁效果**/
    public void startFlick( View view ) {
        if (null == view) {
            return;
        }
        Animation alphaAnimation = new AlphaAnimation(1, 0);
        alphaAnimation.setDuration(300);
        alphaAnimation.setInterpolator(new LinearInterpolator());
        alphaAnimation.setRepeatCount(Animation.INFINITE);
        alphaAnimation.setRepeatMode(Animation.REVERSE);
        view.startAnimation(alphaAnimation);
    }

    /**取消View闪烁效果**/
    public void stopFlick( View view ) {
        if (null == view) {
            return;
        }
        view.clearAnimation();
    }

}

二. 使用

  1. 若要让控件闪烁,你可以这样调用:
//开启闪烁,其中mTvText为view对象
FlashHelper.getInstance().startFlick(mTvText);
  1. 若要停止闪烁,你可以这样调用:
//停止闪烁,其中mTvText为view对象
FlashHelper.getInstance().stopFlick(mTvText);

三. 效果图

xml什么的就不贴了,就是一个按钮点击开启闪烁,然后一个按钮点击停止闪烁,闪烁效果在一个TextView上呈现,下面给出效果图


1.gif

ok,讲完了。

上一篇 下一篇

猜你喜欢

热点阅读