本文实例为大家分享了android霓虹闪烁文字效果的具体代码,供大家参考,具体内容如下

package com.example.apple.shaderdemo;

import android.content.context;

import android.graphics.canvas;

import android.graphics.color;

import android.graphics.lineargradient;

import android.graphics.matrix;

import android.graphics.shader;

import android.support.annotation.nullable;

import android.text.textpaint;

import android.util.attributeset;

import android.widget.textview;

/**

* created by apple on 2017/5/10.

*/

public class lineargradienttextview extends textview {

private textpaint mpaint;

private lineargradient mlineargradient ;

private matrix mmatrix;

private float mtranslate;

private float deltax = 20;

private int mgradientsize;

public lineargradienttextview(context context) {

super(context);

}

public lineargradienttextview(context context, @nullable attributeset attrs) {

super(context, attrs);

}

/**

* 优先于ondraw执行,在这里得到系统绘制textview的画笔,然后给这个画笔设置shader

* 这样下面在执行ondraw的时候,使用的就是带有shader效果的画笔了

* @param w

* @param h

* @param oldw

* @param oldh

*/

@override

protected void onsizechanged(int w, int h, int oldw, int oldh) {

super.onsizechanged(w, h, oldw, oldh);

// ★拿到系统textview的画笔

mpaint = getpaint();

// 得到文本

string text = gettext().tostring();

// 用画笔测量文本的长度

float textwith = mpaint.measuretext(text);

// 3个文字的宽度

mgradientsize = (int) (textwith / text.length() * 3);

// 从左边-gradientsize开始,即左边距离文字gradientsize开始渐变

// 一个渐变单位是:从第一个字之前3字距离开始到第一个字之前位置终结

//然后一直让这个渐变单位从左往右移动dx位移,直到最右侧后,向左移动

// clamp意思是:由于你的只是在渐变3个字的长度,那么剩余的空间,让边缘颜色去填充

mlineargradient = new lineargradient(-mgradientsize,0,0,0,new int[]{

0xffff0000, 0xff00ff00, 0xff00ffff},null, shader.tilemode.clamp

);

mpaint.setshader(mlineargradient);

}

@override

protected void ondraw(canvas canvas) {

// 调用super,意思是按照系统绘制textview的流程先把textview绘制完成

super.ondraw(canvas);

// 我在系统基础上再绘制一些效果

mtranslate += deltax;

float textwidth = getpaint().measuretext(gettext().tostring());

// 到了边界dx取反

if(mtranslate > textwidth + mgradientsize || mtranslate < 0){

deltax = - deltax;

}

// 不停地方平移,得到闪烁的效果

mmatrix = new matrix();

mmatrix.settranslate(mtranslate, 0);

mlineargradient.setlocalmatrix(mmatrix);

// 延时重绘

postinvalidatedelayed(50);

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。

android 文字闪烁效果,Android Shader应用开发之霓虹闪烁文字效果相关推荐

  1. css3实现文字闪烁效果的三种展示方式

    转载自:http://www.fly63.com/article/detial/616 文字闪烁效果一: 通过改变透明度来实现文字的渐变闪烁,效果如下: 文字带渐变效果的闪烁: <div cla ...

  2. android 字体倒影,Android开发中怎么实现一个文字倒影效果

    Android开发中怎么实现一个文字倒影效果 发布时间:2020-11-25 17:18:19 来源:亿速云 阅读:140 作者:Leah 这期内容当中小编将会给大家带来有关Android开发中怎么实 ...

  3. android表情加文字图片,Android开发技巧之像QQ一样输入文字和表情图像

    EditText和TextView一样,也可以进行图文混排.所不同的是,TextView只用于显示图文混排效果,而EditText不仅可显示,也可混合输入文字和图像,让我们先回顾一下图5.2所示的QQ ...

  4. android button 中文字位置设置,iOS开发-- 设置UIButton的文字显示位置、字体的大小、字体的颜色...

    btn.frame = CGRectMake(x, y, width, height); [btn setTitle: @"search" forState: UIControlS ...

  5. 【Android 应用开发】Canvas 绘制文字 ( 文字尺寸测量 | 基线绘制 )

    文章目录 I . 文字尺寸测量 II . 基线绘制 I . 文字尺寸测量 1 . 精准绘制需求 : Canvas 绘制文字时 , 有时需要精准的控制文字的绘制 , 如绘制到指定的区域 , 居中 , 或 ...

  6. android开发重要控件,Android界面编程——Android基本控件

    Android界面编程 Android应用开发的一项重要内容就是界面开发.对于用户来说,不管APP包含的逻辑多么复杂,功能多么强大,如果没有提供友好的图形交互界面,将很难吸引最终用户. 作为一个程序员 ...

  7. 使用Android Studio搭建Android集成开发环境(图文教程)

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  8. Android的历史、版本与开发

    什么是Android? Android是基于Linux内核的软件平台和操作系统,是Google在2007年11月5日公布的手机系统平台,早期由Google开发,后由开放手机联盟(英语:Open Han ...

  9. Android 微光闪烁效果之更强Shimmer-android

    版权声明:本文为Zhang Phil原创文章,请不要转载! http://blog.csdn.net/zhangphil/article/details/49724475 Android 微光闪烁效果 ...

最新文章

  1. 2020年最漂亮的Linux发行版
  2. 收集的不错的计算机图书
  3. cast函数 oracle 日期_从Oracle到PG 该做的改造工作一个都不能少!
  4. matlabpython建模_一直在用Matlab建模,现在Python很火,用学么?
  5. Trapping Rain Water
  6. VS设置程序启动权限为管理员权限
  7. SQL Server 日期转换格式
  8. java acr122 读取数据_acr122读写器软件下载
  9. 令人耳目一新的20款英文手写字体盘点
  10. python如何循环sql语句_sql语句的for循环语句怎么写
  11. 物理学家用AI改写教科书!质子中发现新的夸克,可能性高达99.7%
  12. shell-5.随机数,嵌套循环,expect
  13. 2022全国高中数学联赛A1卷T2几何答案
  14. 视频工具箱android,小熊视频工具箱
  15. 计算机应用大赛宣传稿,江苏开放大学计算机应用基础中国名城宣传片
  16. 数学中那些非常奇葩的证明
  17. 官网下载QT不成功解决方案
  18. elf2flt 解释
  19. 保边滤波之引导滤波与领域转换滤波
  20. qt实现本地\网络图片查看器

热门文章

  1. 汉仪字体mac版 v2014.7
  2. if 语句(中国的个税计算方法)
  3. 花几块钱买源码,能搭建游戏网站吗?
  4. 【UEFI基础】Device Path
  5. 梅斯健康冲刺港股:年营收3亿 腾讯与启明为重要股东
  6. 讲述:一个月薪12000的北京程序员的真实生活
  7. MTS格式视频转AVI相关软件
  8. LOV抛出值无效的异常
  9. 让计算机提速的方法,电脑提速的方法
  10. 实现一个机器人陪女友自动聊天(不用写一行代码),终于可以安心“打农药”啦