如何在现有布局中的Java代码中创建ImageView?

Dan*_*n T 17 java layout android image drawable

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

该应用程序的图片:

APP的图片

按下按钮,我想要一个图像添加到屏幕上,直接在微调器下面并左对齐.当我再次按下按钮时,我想要将另一个图像添加到屏幕上.

因此,如果我按下添加啤酒按钮,旋转器下方会出现一杯啤酒.如果我再次按下添加啤酒按钮,我希望在旋转器下面有两个可抽吸的啤酒,最好从右边添加它们.

(另外,让它们达到它们的宽度限制,环绕并在左侧再次开始,但在整条线下方,将是真棒)

我无法弄清楚如何做到这一点.我假设将代码中的ImageView添加到相对布局(因为它需要定位在右侧)将是最佳路径,但如果在xml中可行,我会非常乐意使用它.有帮助吗?

Dan*_*ter 47

在按钮的单击回调中,创建一个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);
Run Code Online (Sandbox Code Playgroud)

我没有测试过这个,请注意,但它应该给你一个良好的开端.您可能需要将其他参数添加到ImageView,并可能需要添加到LayoutParams以使其看起来更好,并跟踪显示的瓶子数量等.

  • 得到它了!创建了一个溢出变量,当它达到屏幕可以容纳的最大数量时,我告诉它打印到另一个下面的另一个linearlayout!非常感谢丹尼尔! (2认同)