import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.ScaleGestureDetector;
import android.view.View;
import android.view.animation.AccelerateDecelerateInterpolator;
import android.widget.Toast;
import com.iec.hydropath10.R;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Locale;
public class TimeRulerViewV3 extends View {
private List<Long> timeNodes; // 时间节点集合
private static final int TICK_HEIGHT_MAJOR = 40;
private static final int TICK_HEIGHT_MINOR = 20;
private static final int TEXT_SIZE = 30;
private static final int BORDER_WIDTH = 5;
private int tickIntervalMinutes=0;
private static final long MINIMUM_TIME_RANGE = 15 * 60 * 1000; // 15 minutes
private Date startTime;
private Date endTime;
private float lastX;
private long currentTime;
private int scaleRulerColor;//刻度尺
private int scaleMarkColor;//刻度标
private int hourColor;//时针颜色
private int MINUTECOLOR;//分针颜色;
private int RulerColor; //尺身边框颜色
private Bitmap bitmap; //摄像头
/**
* 动画部分
*/
private ObjectAnimator animator;
private Paint paint;
private float translationX;
public void setRulerColor(int rulerColor) {
RulerColor = rulerColor;
}
public void setMINUTECOLOR(int MINUTECOLOR) {
this.MINUTECOLOR = MINUTECOLOR;
}
public void setHourColor(int hourColor) {
this.hourColor = hourColor;
}
public void setScaleRulerColor(int scaleRulerColor) {
this.scaleRulerColor = scaleRulerColor;
}
public void setScaleMarkColor(int scaleMarkColor) {
this.scaleMarkColor = scaleMarkColor;
}
private ScaleGestureDetector scaleGestureDetector;
public TimeRulerViewV3(Context context) {
super(context);
init();
}
public TimeRulerViewV3(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public TimeRulerViewV3(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
paint = new Paint();
paint.setAntiAlias(true); // 启用抗锯齿
paint.setTextSize(TEXT_SIZE);
paint.setTextAlign(Paint.Align.LEFT);
currentTime = System.currentTimeMillis();
startTime = new Date(currentTime);
endTime = new Date(currentTime + 3 * 60 * 60 * 1000); // 3 hours from now
scaleGestureDetector = new ScaleGestureDetector(getContext(), new ScaleListener());
animator = ObjectAnimator.ofFloat(this, "alpha", 0f, 1f);
animator.setDuration(1500); // 动画持续时间为1秒
animator.setInterpolator(new AccelerateDecelerateInterpolator());
timeNodes = n
Android 自定义View时间任务节点
于 2024-03-15 15:03:40 首次发布

最低0.47元/天 解锁文章
782

被折叠的 条评论
为什么被折叠?



