我正在制作一个小游戏,并在每个回合结束时添加一个名为String
gameSummary
的{{1}}的摘要,然后将其设置为TextView的文本。屏幕底部位于ScrollView
。
但是,我希望这个摘要也能显示每个回合的骰子滚动图像,所以我当前更新String
变量的方法不起作用,所以我想使用一个ArrayList添加了ImageView
骰子卷,然后是转弯摘要的TextView
。这可能吗?或者,任何人都可以想到更好的解决方法吗?
答案 0 :(得分:0)
您可以在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);
答案 1 :(得分:0)
我会创建一个包含图像和文本的新类,然后创建该类的ArrayList。然后我可能会使用ListView来显示它们。
(未经测试)
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));