20

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

应用图片:

应用程序的图片

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

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

(此外,让它们达到宽度限制,环绕并从左侧重新开始,但低于整行,将是很棒的)

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

4

1 回答 1

50

在按钮的点击回调中,创建一个 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 并可能添加到 LayoutParams 以使其看起来不错,并跟踪显示的瓶子数量等。

于 2010-06-08T09:00:26.133 回答