重复使用相同的drawable来替换Java中图像的边界框

时间:2016-07-04 17:12:30

标签: java android imageview relativelayout drawable

我有一个位于我的res文件夹内的drawable,名字是cute1。

因此,目前的计划是使用drawable放入ImageView,并使用ImageView替换图像中的所有边界框。

所以让我们说图像有4-5个边界框,as example here,我想用ImageView替换边界框,但据我所知,ImageView本身只能使用一次,我可以'继续使用相同的ImageView来替换所有边界框,因为它将继续用新的边框替换旧的边框。

我已经找到边界框坐标(x,y,宽度,高度)。

问题是,我怎么想通过替换来接近它呢?

我已经完成了以下

ImageView test = (ImageView)findViewById(R.id.cute1);
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) test.getLayoutParams();
params.topMargin = x;
params.leftMargin = y;
params.width = width;
params.height = height;
test.setLayoutParams(params);

并且出现了ImageView,但显然它非常动态,imageview总是出现在边界框坐标附近,但从来没有在正确的坐标处替换它们,为什么会这样呢?

以下是XML文件

<RelativeLayout
<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:id="@+id/cute1"
    android:adjustViewBounds="true"
    android:maxWidth="120dp"
    android:maxHeight="150dp"
    android:layout_marginBottom="120dp"
    android:src="@drawable/cute1"
    android:layout_marginTop="0dp"
    android:layout_marginLeft="0dp" />
</RelativeLayout>

所以我有两个问题:
1)我如何解决,以便ImageView可以很好地适应边界框并替换它? 2)如何使用相同的drawable 同时替换多个边界框?

非常感谢一些帮助,谢谢。 :)

0 个答案:

没有答案