package com.example.android;
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.graphics.Shader.TileMode;
import android.util.AttributeSet;
import android.view.View;
public class MaskedTextView extends View{
private Paint txtPaint;
private Shader shader;
private float dx=50;
private long lastTime = System.currentTimeMillis();
private boolean start = false;
private void init(){
txtPaint = new Paint();
txtPaint.setColor(Color.GRAY);
txtPaint.setAntiAlias(true);
txtPaint.setTextSize(26);
shader = new LinearGradient(0, 0, 200, 0,
new int[]{Color.argb(255, 120, 120, 120), Color.argb(255, 120, 120, 120), Color.WHITE}, new float[]{0, 0.7f, 1}, TileMode.MIRROR);
txtPaint.setShader(shader);
}
public MaskedTextView(Context context) {
super(context);
init();
}
public MaskedTextView(Context context, AttributeSet attrs){
super(context, attrs);
init();
}
public void setStart(boolean start) {
this.start = start;
invalidate();
}
@Override
protected void onDraw(Canvas canvas) {
long now = System.currentTimeMillis();
float elapsed = (now - lastTime)/4.5f;
dx += elapsed;
Matrix matrix = new Matrix();
if(start){
matrix.setTranslate(dx, 0);
invalidate();
}else{
matrix.setTranslate(0, 0);
}
shader.setLocalMatrix(matrix);
canvas.drawText(getContext().getString(R.string.msg), 0, 25, txtPaint);
lastTime = now;
}
}
一个类似于android启动界面的动画效果
![star](https://csdnimg.cn/release/downloadcmsfe/public/img/star.98a08eaa.png)
![avatar](https://profile-avatar.csdnimg.cn/d1fdd9fa357d475ea12b52f0e0bf23ac_smile_yingying.jpg!1)
xiaochengxunyuan
- 粉丝: 4
- 资源: 4
最新资源
- 华为HCIA-WLAN 3.0 课程视频(10 WLAN组网架构(下).mp4)
- 华为HCIA-WLAN 3.0 课程视频(09 WLAN组网架构(上).mp4)
- 华为HCIA-WLAN 3.0 课程视频(08 WLAN基本概念.mp4)
- 华为HCIA-WLAN 3.0 课程视频(07 WLAN的关键技术(下).mp4)
- 南宁水果数据集-种植+气象+价格
- 华为HCIA-WLAN 3.0 课程视频(06 WLAN的关键技术(上).mp4)
- 约瑟夫环的深入解析与实现.zip
- Z20230951李奕臻.pdf
- Josephus问题详解与实现.zip
- 编程项目实战:基于asp.net技术的多线程的TCP端口扫描程序的设计与实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
- 1
- 2
前往页