如何在现有布局中以Java代码创建图像视图?

2022-09-02 05:33:21

我正在寻找一种简单的方法,让用户查看他们在BAC计算器上喝了多少杯。

应用程序的图片:

PICTURE OF THE APP

按下按钮时,我希望将图像添加到屏幕中,直接在微调器下方并左对齐。当我再次按下按钮时,我希望将另一个图像添加到屏幕中。

因此,如果我按下添加啤酒按钮,啤酒的可绘制对象将出现在微调器下方。如果我再次按下添加啤酒按钮,我希望在微调器下有两个可抽取的啤酒,最好是从右侧添加它们。

(此外,让它们达到宽度限制,环绕,然后在左侧重新开始,但在整行下方,这将是很棒的)

我不知道该怎么做。我假设在代码中添加ImageView到相对布局(因为它需要定位在右侧)将是最好的途径,但如果在xml中可以,我会非常乐意使用它。有什么帮助吗?


答案 1

在按钮的单击回调中,创建一个 ImageView 对象,设置瓶子图像,然后对其进行定位。例如(我假设你的元素的名称):

ImageView imageView = new ImageView(this);
imageView.setImageResource(R.drawable.beerbottle);

RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.RelativeLayout01);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
    RelativeLayout.LayoutParams.WRAP_CONTENT,
    RelativeLayout.LayoutParams.WRAP_CONTENT
);
layoutParams.addRule(RelativeLayout.BELOW, R.id.ButtonRecalculate);
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);

relativeLayout.addView(imageView, layoutParams);

我没有测试过这个,介意你,但它应该给你一个良好的开端。您可能需要将其他参数添加到ImageView,并可能添加到布局参数以使其看起来不错,以及跟踪显示了多少瓶等。


答案 2