我可以在 Android Studio 中创建一个包含 TextViews 和 ImageViews 的 ArrayLi



我正在制作一个小游戏,在每个回合结束时,都会将该回合的摘要添加到一个名为gameSummaryString中,然后将其设置为ScrollView屏幕底部的文本视图。

但是,我希望此摘要也显示每个回合掷骰子的图像,因此我当前更新String变量的方法不起作用,因此我正在考虑使用 ArrayList,该列表添加了掷骰子的ImageView,然后是回合摘要的TextView。这可能吗?或者谁能想到更好的解决方法?

您可以在

TextView的文本中添加图像。这些被称为Spannable s。为此,您将使用 SpannableStringBuilder 和 ImageSpan。例:

SpannableStringBuilder builder = new SpannableStringBuilder("initial text");
builder.append("n");
Bitmap image = BitmapFactory.decodeResource(context.getResources(), drawableId);
int imageIndex = builder.length();
builder.setSpan(new ImageSpan(context, image, ImageSpan.ALIGN_BASELINE),
                index , index+1, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
textView.setText(builder);

我会创建一个包含您的图像和文本的新类,然后制作该类的 ArrayList。 然后,我可能会使用列表视图来显示它们。

(未测试(

public class TurnSummary {
    private String turnTextSummary;
    private Bitmap turnDiceImage;
    public TurnSummary(String summary, Bitmap image) {
        this.turnTextSummary = summary;
        this.turnDiceImage = image;
    }
    // getters & setters
}

然后创建一个列表将是:

List<TurnSummary> list = new ArrayList<>();
list.add(new TurnSummary(summary, diceImage));

最新更新