我想在运行时更改图像(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对象发送到另一个类并在函数中使用它。当我使用它时,它不会给出任何错误但不会改变位置。
答案 0 :(得分:0)
尝试使用findViewById初始化图像...(如果你没有......) 或者只使用setY()和setX()。
答案 1 :(得分:0)
image = (ImageView) findViewById(R.id.markerImage)
您的im1
中没有名为xml
的ID,因此提升了NullPointerException