Java Android设置标签文本的自定义图像

Java Android设置标签文本的自定义图像,java,android,eclipse,image,Java,Android,Eclipse,Image,我现在有一个计时器,可以滴答滴答地改变标签,倒数秒数。 是可能的,如果是,我如何更改和图像在和图像框为每个自定义值,例如 标签=1 imagebox1=1.jpg 标签=2图像框1=2.jpg 还是更容易去掉计时器的刻度值?我会制作一个精灵类。然后,我将使用来自ticker的值循环浏览我需要的各种位图。但如果这些图像足够小,分辨率足够高,则将它们组合在一张图像中,并使用一个各向异性透镜 import android.graphics.*; public class AniSprite { p

我现在有一个计时器,可以滴答滴答地改变标签,倒数秒数。 是可能的,如果是,我如何更改和图像在和图像框为每个自定义值,例如 标签=1 imagebox1=1.jpg 标签=2图像框1=2.jpg
还是更容易去掉计时器的刻度值?

我会制作一个精灵类。然后,我将使用来自ticker的值循环浏览我需要的各种位图。但如果这些图像足够小,分辨率足够高,则将它们组合在一张图像中,并使用一个各向异性透镜

import android.graphics.*;

public class AniSprite {

public RectF target;
public Rect source;
public Bitmap bitmap;
public int width;
public int height;
public float posx;
public float posy;
public int frames;
public int curframe = 0;

public AniSprite(Bitmap bitmap, float posx, float posy, int width, int height, int frames) {
    this.drawview = drawview;
    this.bitmap = bitmap;
    this.width = width;
    this.height = height;
    this.posx = posx;
    this.posy = posy;
    this.frames = frames;
    source = new Rect(curframe * width, 0, (curframe * width) + width, height);
    target = new RectF(posx, posy, posx + (width), posy + (height));
}

public void animate() {
    curframe++;
    if(curframe >= frames){
        curframe = 0;
    }
    source = new Rect(curframe, 0, (curframe) + width, height);
}

public void setSourceRect(Rect rect) {
    source = rect;
    curframe = rect.right/width;
}

public void ChangePos(float posx, float posy) {
    this.posx = posx;
    this.posy = posy;
    source = new Rect(curframe * width, 0, (curframe * width) + width, height);
    target = new RectF(posx, posy, posx + (width), posy + (height));
}

}
所以在这节课上,我没有循环浏览不同的位图,而是制作了一个大位图,每个动画帧都是一个接一个的。(使用photoshop)这些参数指示屏幕上x和y的位置、帧的宽度和高度(因此每个图像)以及帧数

执行AniSprite.animate()将目标切换到新帧,因此您可以将精灵绘制为

canvas.drawBitmap(sprite.bitmap, sprite.source, sprite.target, null);