Android:如何动态改变ImageView的位置?

问题描述:

我希望我的箭头能够动态地以一定的毫秒数延迟左右移动。任何线索?Android:如何动态改变ImageView的位置?

这里是我的代码:

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.os.Handler; 
import android.widget.ImageView; 

public class PlayWithGraphics extends Activity { 
    /** Called when the activity is first created. */ 

public final int delay = 2500; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     final ImageView iv = (ImageView)findViewById(R.id.iv); 
     iv.setBackgroundResource(R.drawable.back_two); 

     new Handler().postDelayed(new Runnable(){ 
      public void run(){ 


      //iv.setPadding(30, 0, 10, 0); 
      } 
     }, delay); 




    } 
    } 

您既可以使用一个转换的动画,并更新onRepeatListener移动或把你的图像中的RelativeLayout,并定期更改其利润率。

+0

现在你给2点建议:1。 使用翻译动画在onRepeatListener更新的移动或 2.把你的图像中的RelativeLayout和定期 改变其保证金数1:你有一个代码例如,您可以在这里发布或在网上推荐一个教程? 对于编号2:id在运行时没有所需的方法。我用setPadding但它没有工作。 setMarginLeft和setMarginRight仅在设计时在XML布局中可用。 – 2010-08-02 10:06:25

+1

好,关于方法2,实际上不是,这些方法聚集成一个,你可以从'RelativeLayout'在'LayoutParams'中找到。您只需使用后台线程进行计数,并且每隔一段时间您都会更改边距。今天下午我会去看看,并尝试回来一些代码/截图。尽管我认为翻译动画是最简单的方法......您可以参考ApiDemo中的翻译动画。或者简单地创建你自己的实例。我会再看看,稍后再给你更多细节。 – Sephy 2010-08-02 11:32:33