4

我需要的方向是:

在此处输入图像描述 我从 droidz 活动示例和 rockpaperscissors 示例中看到了如何通过用手或与墙壁碰撞时在不同方向上移动图像。

问题1:

现在我想在四个方向上移动四个不同的图像,如上图所示。而当他们碰到墙壁时,他们应该消失并从起点重新开始,一个接一个地沿着相同的方向重新开始。

问题2:

当移动时触摸其中任何一个时,它应该消失并且不应该继续循环仅针对该图像,或者应该进行另一个活动。请帮我解决这两个问题。提前致谢。

4

1 回答 1

3

您可以使用 API 11 中提供的这些功能

((TextView)findViewById(R.id.textView)).setTranslationX(200);
((TextView)findViewById(R.id.textView)).setTranslationY(300);

更新 试试这个代码示例代码。

    final TextView tv = (TextView)findViewById(R.id.textView);
    new Timer().schedule(new TimerTask() {

        @Override
        public void run() {
        MainActivity.this.runOnUiThread(new Runnable() {

            public void run() {
                tv.setTranslationX(tv.getTranslationX()+10);
                tv.setTranslationY(tv.getTranslationY()+10);
                tv.invalidate();

            }
        });

        }
    }, 1000 , 1000);
    tv.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            Toast.makeText(getApplicationContext(), "Clicked!", Toast.LENGTH_SHORT).show();

        }
    });

更新

实现您在图片中显示的内容。这是实现该功能的简要说明

  • 为每个视图创建一个路径数组(点的二维数组)

    意见将旅行

  • 根据需要为每个视图创建一个计时器,重复间隔为 100 毫秒或更短。

  • 在这些计时器中,从该路径数组中获取一个点并将其传递给您的视图。

  • 永远在该路径上循环意味着以循环方式。

  • 设置onClck()该视图的侦听器。

  • 在该侦听器中取消()该视图的相应计时器并销毁该视图或将可见性设置为 GONE。

通过实现这一点,您可以轻松完成此任务。

于 2012-11-29T13:11:03.200 回答