いくつかのテキストを右から左にスムーズにスクロールするカスタム ビューを作成する必要があります。
さて、書いてみましたが、スクロールがスムーズに見えません。コードは次のとおりです。
private Runnable tick = new Runnable() {
@Override
public void run() {
anim();
invalidate();
handler.postDelayed(this, 10);
}
};
private void anim()
{
long time = System.currentTimeMillis();
long dTime = time - animStartTime;
animStartTime = time;
offsetX-=(float)(dTime*ANIM_SPEED);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if(rates!=null)
{
for(int i=0; i<rates.length; i++)
{
Rate r = rates[i];
float x = ((i*rateWidth) + offsetX + r.offsetX);
float y = 120;
if(x>w)
{
continue;
}
else if(x+rateWidth<0)
{
r.offsetX += rates.length*rateWidth;
continue;
}
canvas.drawText(r.currency, x, y, paintBlack);
}
}
}
それほど複雑ではありませんが、スクロールがまったく滑らかに見えず、時々ガタガタします。抽選中に割り当ては行いません。
どうすればこれを改善できますか?