我正在制作一个小游戏,在每个回合结束时,都会将该回合的摘要添加到一个名为gameSummary
的String
中,然后将其设置为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));