本文实例为大家分享了闪耀字体效果的具体代码,供大家参考,具体内容如下
import androID.content.Context;import androID.graphics.Canvas;import androID.graphics.color;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 ShiningFontVIEw extends TextVIEw { private int mVIEwWIDth; private Paint mPaint; private linearGradIEnt mlinearGradIEnt; private Matrix mGradIEntMatrix; private int mTranslate; public ShiningFontVIEw(Context context) { super(context); } public ShiningFontVIEw(Context context,AttributeSet attrs) { super(context,attrs); } public ShiningFontVIEw(Context context,AttributeSet attrs,int defStyleAttr) { super(context,attrs,defStyleAttr); } @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(0,mVIEwWIDth,new int[]{color.BLUE,0xffffffff,color.BLUE},null,Shader.TileMode.CLAMP); mPaint.setShader(mlinearGradIEnt); mGradIEntMatrix = new Matrix(); } } } @OverrIDe protected voID onDraw(Canvas canvas) { super.onDraw(canvas); if (mGradIEntMatrix != null) { mTranslate += mVIEwWIDth / 5; if (mTranslate > 2 * mVIEwWIDth) { mTranslate = -mVIEwWIDth; } mGradIEntMatrix.setTranslate(mTranslate,0); mlinearGradIEnt.setLocalMatrix(mGradIEntMatrix); postInvalIDateDelayed(100); } }}
使用方式如下
<com.hz56pt.huipaotui.vIEw.ShiningFontVIEw//包裹起来就行 androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_centerVertical="true" androID:layout_marginleft="@dimen/margin_10" androID:layout_toRightOf="@ID/iv_tips1_icon" androID:text="@string/tips1" />
效果图如下
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。
总结以上是内存溢出为你收集整理的Android自定义View实现闪耀字体效果全部内容,希望文章能够帮你解决Android自定义View实现闪耀字体效果所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)