谁能帮我做到这一点。
我正在尝试构建一个Android应用程序,但介于两者之间。

我已使用以下代码移动图像。
iv是ImageView对象

moveImage = new TranslateAnimation( 0, xDest, 0, -yDest);
moveImage.setDuration(1000);
moveImage.setFillAfter( true );
iv.startAnimation(moveImage);


码:

public class gameLogic extends Activity
{
ImageView image;
TranslateAnimation moveImage;

public void onCreate(Bundle icicle)
{
    super.onCreate(icicle);
    setContentView(R.layout.game_logic);
    imageMoveRandom(imageList(image,0));
}

ImageView imageList(ImageView v,int i)
{
    v = (ImageView) findViewById(R.id.rabbit);
    int imgId;
    int j = i;

    TypedArray imgs = getResources().obtainTypedArray(R.array.random_imgs);
    //get resourceid by index

    imgId = imgs.getResourceId(j, 0);
    // or set you ImageView's resource to the id
    v.setBackgroundResource(imgId);

    return v;

}

void imageMoveRandom(ImageView iv)throws NotFoundException
{
    DisplayMetrics dm = new DisplayMetrics();
    this.getWindowManager().getDefaultDisplay().getMetrics( dm );

    int xDest = dm.widthPixels/2;
    int yDest = dm.heightPixels/2;

//      Toast.makeText(gameLogic.this, dm.widthPixels, Toast.LENGTH_SHORT).show();
        //      Toast.makeText(this, dm.heightPixels, 2000).show();


        moveImage = new TranslateAnimation( 0, xDest, 0, -yDest);
        moveImage.setDuration(1000);
        moveImage.setFillAfter( true );
        iv.startAnimation(moveImage);
        //moveImage.reset();
    }
}


上面的代码不是完整的代码,而是一部分,可能对参考有所帮助。

但我想在android显示器内的任意位置连续移动图像。
谁能提出解决方案。

提前致谢 :)

最佳答案

 class BitmapView extends View
 {
   changingX=10;
   changingY=10;
   public BitmapView(Context context) {
        super(context);
   }
   @Override
   public void onDraw(Canvas canvas) {
   Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.yourImageName);
    canvas.drawColor(Color.BLACK);
    canvas.drawBitmap(bmp, changingX,changingY, null);
    changingX=changingX+5;
    changingY=changingY+10;
    invalidate();
   }
}


尝试这个

08-17 20:55