package com.netease.nim.uikit.common.ui.barrage; import android.text.TextPaint; /** * Created by huangjun on 2016/5/8. */ class BarrageTextTask { // build private String text; private int line; private int duration; private float x; private float y; private float deltaX; private float length; private TextPaint paint; // inner private float runX; private boolean hasFree; BarrageTextTask(String text, int line, int color, int size, int duration, float x, float y, float deltaX) { this.text = text; this.line = line; this.duration = duration; this.x = x; this.y = y; this.deltaX = deltaX; this.paint = new TextPaint(); this.paint.setTextSize(size); this.paint.setColor(color); this.length = paint.measureText(text); this.runX = 0.0f; this.hasFree = false; } void updatePosition() { runX += deltaX; x -= deltaX; } boolean canFreeLine() { if (hasFree) { return false; } if (runX > length + 60.0f) { hasFree = true; return true; } return false; } boolean isEnd() { return x < -1 * length; // 是否应该结束 } String getText() { return text; } int getLine() { return line; } int getDuration() { return duration; } float getX() { return x; } float getY() { return y; } TextPaint getPaint() { return paint; } }