Android Textview實(shí)現(xiàn)顏色漸變滾動(dòng)效果
本文實(shí)例為大家分享了Android顏色漸變滾動(dòng)展示的具體代碼,供大家參考,具體內(nèi)容如下
public class FlashTextView extends android.support.v7.widget.AppCompatTextView { private Paint mPaint; private int mViewWidth; private LinearGradient mLinearGradient; private Matrix mGradientMatrix; private int mTransalte; public FlashTextView(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); if (mViewWidth == 0) { mViewWidth = getMeasuredWidth(); if (mViewWidth > 0) { mPaint = getPaint();//獲得當(dāng)前繪制的Paint對(duì)象 mLinearGradient = new LinearGradient( 0,//漸變起始點(diǎn)x坐標(biāo) 0,//漸變起始點(diǎn)y坐標(biāo) mViewWidth,//漸變結(jié)束點(diǎn)x點(diǎn)坐標(biāo) 0,//漸變結(jié)束點(diǎn)y坐標(biāo) new int[]{ Color.BLUE, 0xffffffff, Color.BLUE,Color.RED,Color.YELLOW},//顏色的int數(shù)組 null,//相對(duì)位置的顏色數(shù)組,可為null, 若為null,可為null,顏色沿漸變線均勻分布 Shader.TileMode.MIRROR);//平鋪模式 mPaint.setShader(mLinearGradient);//給這個(gè)paint設(shè)置linearFradient屬性 mGradientMatrix = new Matrix(); } } } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); if (mGradientMatrix != null) { mTransalte += mViewWidth / 5; if (mTransalte > 2 * mViewWidth) { mTransalte -= mViewWidth; } mGradientMatrix.setTranslate(mTransalte, 0); mLinearGradient.setLocalMatrix(mGradientMatrix);//通過矩陣的方式不斷平移產(chǎn)生漸變效果 postInvalidateDelayed(100); } } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android 用RxBinding與RxJava2實(shí)現(xiàn)短信驗(yàn)證碼倒計(jì)時(shí)功能
這篇文章主要介紹了Android 用RxBinding與RxJava2實(shí)現(xiàn)短信倒計(jì)時(shí)功能示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10Android 登錄Web 時(shí)對(duì)cookie 處理
本文主要介紹 Android登錄web時(shí)對(duì)cookie的處理方法,這里cookie 的讀寫做了詳細(xì)介紹,并附有代碼進(jìn)行講解,希望能幫到有需要的同學(xué)2016-07-07Android自定義ScrollView實(shí)現(xiàn)阻尼回彈
這篇文章主要為大家詳細(xì)介紹了Android自定義ScrollView實(shí)現(xiàn)阻尼回彈,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04Android編程使用Service實(shí)現(xiàn)Notification定時(shí)發(fā)送功能示例
這篇文章主要介紹了Android編程使用Service實(shí)現(xiàn)Notification定時(shí)發(fā)送功能,涉及Android服務(wù)Service控制通知的發(fā)送功能相關(guān)操作技巧,需要的朋友可以參考下2017-08-08Android自定義ViewGroup實(shí)現(xiàn)帶箭頭的圓角矩形菜單
這篇文章主要為大家詳細(xì)介紹了Android自定義ViewGroup帶箭頭的圓角矩形菜單實(shí)現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-07-07Android優(yōu)化之啟動(dòng)頁(yè)去黑屏實(shí)現(xiàn)秒啟動(dòng)
本文的內(nèi)容主要是講Android啟動(dòng)頁(yè)優(yōu)化,去黑屏實(shí)現(xiàn)秒啟動(dòng)的功能,有需要的小伙伴們可以參考學(xué)習(xí)。2016-08-08Android編程實(shí)現(xiàn)全局獲取Context及使用Intent傳遞對(duì)象的方法詳解
這篇文章主要介紹了Android編程實(shí)現(xiàn)全局獲取Context及使用Intent傳遞對(duì)象的方法,結(jié)合實(shí)例形式分析了Android全局Context的獲取及Intent傳遞對(duì)象的具體操作方法,需要的朋友可以參考下2017-08-08Flutter?Widget之NavigationBar使用詳解
這篇文章主要為大家介紹了Flutter?Widget之NavigationBar使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12