如何在android中定位图像

时间:2013-12-26 03:04:07

标签: java android positioning

我想根据时间参数将图像定位在屏幕上的不同位置。 但使用此代码我的图像是静态的 -

package com.example.blahblah;

import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;
import java.util.concurrent.*;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.ImageView;

public class Starts extends Activity{    
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.starts);
    ScheduledThreadPoolExecutor exec = new ScheduledThreadPoolExecutor(1);
    exec.scheduleAtFixedRate(new Runnable() {
      int i=10;     
      final ImageView im=(ImageView)findViewById(R.id.imageView1);
      public void run() {
        im.setX(i);
        im.setY(i);
        i=i+100;
      }
    }, 0, 4, TimeUnit.SECONDS);
  }
}

我错过了什么?

1 个答案:

答案 0 :(得分:2)

每个间隔重新开始,i = 10。你可以改用这样的东西。

private static class MyRunnable implements Runnable {
  int i=10;     
  final ImageView im=(ImageView)findViewById(R.id.imageView1);
  public void run() {
    im.setX(i);
    im.setY(i);
    i=i+100;
  }
}

// then in onCreate
Runnable r = new MyRunnable();
exec.scheduleAtFixedRate(r, 0, 4, TimeUnit.SECONDS);