在运行时更改图像位置

时间:2014-12-02 13:32:56

标签: android image

我想在运行时更改图像(imageview)的位置。我把imageView放在FrameLayout中。我的主要布局是相对布局。

我尝试了很多东西,但总是得到空指针异常。

上次我试过这个:

    FrameLayout.LayoutParams par;
    image.setImageResource(R.drawable.im1);
    par = (FrameLayout.LayoutParams)image.getLayoutParams();
    par.setMargins(100,100,0,0);

    image.setLayoutParams(par);

xml for imageView:

    <ImageView
        android:layout_width="42dp"
        android:layout_height="40dp"
        android:id="@+id/im1"
        android:contentDescription=""
        android:src="@drawable/im1"/>

我想到了什么。 SetX和SetY更改位置,但它们仅在主类的OnCreate方法中起作用。我想将此imageview对象发送到另一个类并在函数中使用它。当我使用它时,它不会给出任何错误但不会改变位置。

2 个答案:

答案 0 :(得分:0)

尝试使用findViewById初始化图像...(如果你没有......) 或者只使用setY()和setX()。

答案 1 :(得分:0)

image = (ImageView) findViewById(R.id.markerImage)

您的im1中没有名为xml的ID,因此提升了NullPointerException