0

我们在这里有 Android 3D Carousel:http: //www.codeproject.com/KB/android/androcarousel.aspx

我的问题是:我想在图像和反射之间制作文本标签?

我该怎么做?

请帮帮我

4

1 回答 1

1

我找到了答案:使用 CarouselFrame

public class CarouselFrame extends FrameLayout implements Comparable<CarouselFrame> {

private int index;
private float currentAngle;
private float x;
private float y;
private float z;
private boolean drawn;

private ImageView image;
private TextView txt;

public CarouselFrame(Context context) {
    this(context, null, 0);
}   

public CarouselFrame(Context context, AttributeSet attrs) {
    this(context, attrs, 0);
}

public CarouselFrame(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    image = new ImageView(context);
    this.addView(image, new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
            ViewGroup.LayoutParams.WRAP_CONTENT));
    txt = new TextView(context);
    this.addView(txt, new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
            ViewGroup.LayoutParams.WRAP_CONTENT));
}

public void setImageBitmap(Bitmap img){
    image.setImageBitmap(img);
}

public void setText(String text){
    txt.setText(text);
}


public void setIndex(int index) {
    this.index = index;
}

public int getIndex() {
    return index;
}


public void setCurrentAngle(float currentAngle) {
    this.currentAngle = currentAngle;
}

public float getCurrentAngle() {
    return currentAngle;
}

public int compareTo(CarouselFrame another) {
    return (int)(another.z - this.z);
}

public void setX(float x) {
    this.x = x;
}

public float getX() {
    return x;
}

public void setY(float y) {
    this.y = y;
}

public float getY() {
    return y;
}

public void setZ(float z) {
    this.z = z;
}

public float getZ() {
    return z;
}

public void setDrawn(boolean drawn) {
    this.drawn = drawn;
}

public boolean isDrawn() {
    return drawn;
}

}

于 2011-04-20T07:43:24.527 回答