安卓中如何实现小球在屏幕上左右来回移动

安卓中如何实现小球在屏幕上左右来回移动,谢谢,求大师告诉详细的源代码,尽量简单,不要太高深的方法图片

用动画,控制起始位置,或者自己用timer控制margin等参数

http://www.2cto.com/kf/201111/110861.html
http://m.blog.csdn.net/blog/controlsxxf/8790052

参考一下吧

sdk的sample里有这个例子

Android中控制view的移动可以采用动画,Android提供了两大类动画:基本动画和属性动画。

1、基本动画包括两类:逐帧动画、补间动画。前者由一张张的图片轮流显示形成;后者包括角度、移位、透明度、大小四种变化以及它们的组合。

你要实现小球在屏幕上左右来回移动,采用补间动画中的移位变化比较合适,移位变化可以设置水平和垂直方向的移动。

代码如下:

    public class MainActivity extends Activity {

    private ImageView ball;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ball = (ImageView) findViewById(R.id.imageview);
        ball.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // 获取屏幕的宽度
                DisplayMetrics displayMetrics = new DisplayMetrics();
                getWindowManager().getDefaultDisplay().getMetrics(
                        displayMetrics);
                int screenWidth = displayMetrics.widthPixels;
                // 初始化移位动画,水平方向从0到屏幕宽度-球的宽度,垂直方向从0到0,即从左到右
                // Animation.ABSOLUTE表示相对屏幕的位置,以像素为单位,
                //即水平从0像素到screenWidth - ball.getWidth()像素
                TranslateAnimation animation = new TranslateAnimation(
                        Animation.ABSOLUTE, 0, Animation.ABSOLUTE, screenWidth
                                - ball.getWidth(), Animation.RELATIVE_TO_SELF,
                        0, Animation.RELATIVE_TO_SELF, 0);
                // 动画到事件为1000ms
                animation.setDuration(1000);
                // 动画执行次数为无限次:-1
                // 如果为一正数n,则执行n次
                animation.setRepeatCount(Animation.INFINITE);
                // 动画重复方式为反转,即从左到右>从右到左>...
                // 如果为Animation.RESTART,即从左到右>从左到右>...
                animation.setRepeatMode(Animation.REVERSE);
                ball.startAnimation(animation);
            }
        });
    }
}

这样就解决了你的问题。其余几种基本动画:大小、透明度、角度你可以自己尝试,和上述类似。

2、属性动画。

这个也很简单,如果用它解决你的问题,与1不同的是:2会真正改变小球的位置;而1不是,你点击运动中的小球,它不会响应点击事件,只有点击球的初始位置才能让其响应。你可以查找相关资料来学习属性动画。