美文网首页
自定义控件实现文本闪烁

自定义控件实现文本闪烁

作者: 大表哥007 | 来源:发表于2017-08-11 00:07 被阅读13次

public class PlayText extends android.support.v7.widget.AppCompatTextView {

private Paint mPaint;
private int mWidth;
private LinearGradient mLinearGradient;
private Matrix mMatrix;
private int mTranslate;

public PlayText(Context context) {
    this(context,null);
}

public PlayText(Context context, @Nullable AttributeSet attrs) {
    super(context, attrs);
}


@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
    super.onSizeChanged(w, h, oldw, oldh);
    mWidth = getMeasuredWidth();
    if (mWidth == 0 ){
        mWidth = getMeasuredWidth();
    }
    if (mWidth > 0 ){
        mPaint = getPaint();
        //参数一为渐变起初点坐标x位置,参数二为y轴位置,参数三和四分辨对应渐变终点,参数五是参与渐变效果的颜色集合,参数六是是定义每个颜色处于的渐变相对位置,最后参数为平铺方式,这里设置为镜像
        mLinearGradient = new LinearGradient(0,0,mWidth,0,new int[]{
                Color.BLUE,0xffffffff,Color.RED,Color.GREEN
        },null, Shader.TileMode.CLAMP);
        mPaint.setShader(mLinearGradient);
        mMatrix = new Matrix();
    }

}

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    if (mMatrix != null) {
        mTranslate += mWidth/5;
        if (mTranslate > 2*mWidth){
            mTranslate = -mWidth;
        }
        mMatrix.setTranslate(mTranslate,0);
        mLinearGradient.setLocalMatrix(mMatrix);
        postInvalidateDelayed(100);
    }
}

}

相关文章

  • 自定义控件实现文本闪烁

    public class PlayText extends android.support.v7.widget.A...

  • Python 学习笔记 050

    续前节 tkinter学习笔记 6-8 6.Text控件文本控件,用于显示多行文本 Entry控件加强版 自定义插...

  • 自定义组合控件,事件传递响应规则

    自定义组合控件 当系统提供的控件,不足以满足我们开发需求时,可以通过自定义控件来实现更好的效果。 组合控件的实现步...

  • Android中的自定义控件

    Android中的自定义控件大致可以分成三类:自定义组合控件、继承原生控件的自定义控件、继承View自己实现绘制的...

  • 关于canvas那些事儿

    实现自定义控件,无非分成这么几步: Ⅰ、在OnMeasure()方法中,测量自定义控件的大小,使自定义控件能够自适...

  • UITextField

    UITextField 文本输入控件的使用 自定义UITextField样式 响应UITextField的键盘通知

  • 自定义日历控件

    Android自定义日历控件(继承系统控件实现) 主要步骤 编写布局 继承LinearLayout设置子控件 设置...

  • android 圆形进度条

    圆形的进度条,自定义控件实现

  • 自定义控件 - Spinner

    blog 中会记录一些自定义控件的实现过程,完整的使用和其他的自定义控件可以参考,常用控件库WidgetProdu...

  • 自定义控件 - 封装公用HeadView

    blog 中会记录一些自定义控件的实现过程,完整的使用和其他的自定义控件可以参考,常用控件库WidgetProdu...

网友评论

      本文标题:自定义控件实现文本闪烁

      本文链接:https://www.haomeiwen.com/subject/kxgkrxtx.html