Android 在运行时更改图像位置
我想在运行时更改ImageView的位置。我将imageView放在FrameLayout中。我的主要布局是相对布局 我尝试了很多方法,但总是出现空指针异常 上次我试过这个:Android 在运行时更改图像位置,android,image,Android,Image,我想在运行时更改ImageView的位置。我将imageView放在FrameLayout中。我的主要布局是相对布局 我尝试了很多方法,但总是出现空指针异常 上次我试过这个: FrameLayout.LayoutParams par; image.setImageResource(R.drawable.im1); par = (FrameLayout.LayoutParams)image.getLayoutParams(); par.setMargins(100,
FrameLayout.LayoutParams par;
image.setImageResource(R.drawable.im1);
par = (FrameLayout.LayoutParams)image.getLayoutParams();
par.setMargins(100,100,0,0);
image.setLayoutParams(par);
imageView的xml:
<ImageView
android:layout_width="42dp"
android:layout_height="40dp"
android:id="@+id/im1"
android:contentDescription=""
android:src="@drawable/im1"/>
我想了些什么。SetX和SetY改变了位置,但它们只在主类的OnCreate方法中工作。我想将这个imageview对象发送到另一个类,并在函数中使用它。当我使用它时,它不会给出任何错误,但不会改变位置 尝试使用findViewById初始化映像。。。如果你没有。。 或者只使用setY和setX
image = (ImageView) findViewById(R.id.markerImage)
您的xml中没有名为im1的id,因此引发NullPointerException哪一行导致nullpointer?我不知道。我试着评论每一行,但总是给出一个错误。看看你的日志。它会告诉你在哪一行得到NullPointerException。我想它会给每一行加上图片。我在onCreate方法中像image=ImageView findviewbydr.id.im1一样初始化它我在onCreate方法中初始化它。我试着只用setX,但它也不起作用。那么,您是否确保您的视图没有锚定在xml布局中?例如,设置为水平和垂直居中的视图不能移动。我为imageView添加了xml。有什么问题吗?您能添加xml声明吗?我稍后会更改id,以了解错误。我不能在这里更改我的旧代码,所以我在这里复制时更改了我的新更新代码。对不起,我忘记换了。