类似滑动苹果解锁Text
2016-06-19 19:18
323 查看
这里我们来自定义一个闪光的textview,非常简单~
--------------自定义TextView---------
import android.content.Context; import android.graphics.Canvas; import android.graphics.LinearGradient; import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.Shader; import android.util.AttributeSet; import android.widget.TextView; public class MyTextView extends TextView { private LinearGradient mLinearGradient; private Matrix mGradientMatrix; private Paint mPaint; private int mViewWidth = 0; private int mTranslate = 0; private boolean mAnimating = true; public MyTextView(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh); if (mViewWidth == 0) { mViewWidth = getMeasuredWidth(); if (mViewWidth > 0) { mPaint = getPaint(); mLinearGradient = new LinearGradient(-mViewWidth, 0, 0, 0, new int[] { 0x33ffffff, 0xffffffff, 0x33ffffff }, new float[] { 0, 0.5f, 1 }, Shader.TileMode.CLAMP); mPaint.setShader(mLinearGradient); mGradientMatrix = new Matrix(); } } } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); if (mAnimating && mGradientMatrix != null) { mTranslate += mViewWidth / 10; if (mTranslate > 2 * mViewWidth) { mTranslate = -mViewWidth; } mGradientMatrix.setTranslate(mTranslate, 0); mLinearGradient.setLocalMatrix(mGradientMatrix); postInvalidateDelayed(50); } } }
如何引用该布局呢?
该类的包名再加上类名com.hao.view.MyTextView
com.hao.view包名 MyTextView 类名
大概就到这吧!!试着实现一下吧~~~
小伙伴们有好看的特效或有更好的效果,留下博客哦~~
相关文章推荐
- java学习总结
- [bzoj1192]鬼谷子的钱袋
- tomcat性能监控命令(二)
- hwSlider-内容滑动切换效果(二):响应式可触控滑动
- 安卓文件管理器-GridView实现九宫格
- PHP 面向对象:设计模式之单例模式
- tomcat性能监控命令(一)
- Set Matrix Zeroes
- EL表达式中取整或保留两位小数
- XHTML 结构化
- <Android学习笔记6>——Android应用开发SharedPreferences存储数据的使用方法
- python3 zip的用法
- nginx之ngx_http_access_module模块使用
- 数组的扩展与修复
- 生物地理中考求RP++
- 《Mongodb》
- 解决ActionBar中不显示item的问题,item显示在overflow中
- C语言函数传参汇总
- sublime text快捷键
- 20145212《Java程序程序设计》课程总结