在运行时更改imageView位置

时间:2014-12-03 13:19:48

标签: android image

我尝试在运行时更改imageView的位置。 ImageView位于framelayout中,我的主要布局是相对布局。

image = (ImageView) findViewById(R.id.im1); 
image.setY(100); 
image.setX(100);

此代码仅适用于onCreate方法。我想将图像对象发送到另一个类并在某些函数中使用。当我尝试这样做时,没有任何反应。它没有错误,也没有改变图像的位置

框架布局的Xml:

    android:layout_toStartOf="@+id/button4"
    android:layout_alignParentTop="true"
    android:layout_alignParentEnd="true"
    android:id="@+id/frameLayout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

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

</FrameLayout>

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

image = (ImageView) findViewById(R.id.im1); 
FrameLayout.LayoutParams params = image.getLayoutParams();

params.setMargins(0, 0, 0, 0) //left, top, right, bottom
image.setLayoutParams(params);

答案 1 :(得分:0)

image = (ImageView) findViewById(R.id.im1); 
FrameLayout.LayoutParams params = image.getLayoutParams();

params.setMargins(0, 0, 0, 0) //left, top, right, bottom
image.requestLayout(); // Or you can call to set layout params like James did