Android自定义View绘制闪闪发光的文字
生活随笔
收集整理的這篇文章主要介紹了
Android自定义View绘制闪闪发光的文字
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
如何實現類似網頁效果中閃閃發光的文字,通過自定義View可以實現這一炫酷效果
1.自定義View
public class FlickTextView extends TextView {private int mViewWidth; private Paint mPaint; /** * 顏色漸變 */ private LinearGradient mLinearGradient; private Matrix mGradientMatrix; private float mTranslate; public FlickTextView(Context context) {super(context,null); }public FlickTextView(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(0,0,mViewWidth,0, 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); //100ms 后繼續刷新試圖,即調用onDraw()方法。 postInvalidateDelayed(100); }} 2.在布局文件中引用 <com.example.mdw.scrollertest.FlickTextView android:layout_width="match_parent" android:layout_height="200dp" android:text="閃閃發光的文字" android:textSize="40dp" />總結
以上是生活随笔為你收集整理的Android自定义View绘制闪闪发光的文字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android设计模式MVVM之Data
- 下一篇: Android CookieSyncMa