在android中的背景移动

时间:2014-11-25 18:38:17

标签: java android

我正在android studio中创建一个项目。我正在尝试通过Thread在运行应用程序时移动背景图像但是当我运行应用程序时它会发出一条消息“不幸停止”。如何通过Thread或任何东西移动背景图像 使用android studio?有人请帮帮我吗?

//Xml:
<ImageView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:src="@drawable/bg2"
    android:scaleType="fitXY"
    android:id="@+id/image_id"
    />

//java:
image=(ImageView)findViewById(R.id.image_id);  // image is an ImageView type object
Thread an=new Thread(){
        @Override
        public void run() {
            super.run();
            for(;x<=200;)
            {
                x++;
                image.setX(x);
                image.setY(0);

                System.out.println("Value of x: "+x);


                try
                {
                    sleep(1000);

                }catch(Exception e)
                {
                    System.out.println("Exception: "+e);
                }
            }
        }
    };an.start();

2 个答案:

答案 0 :(得分:1)

您可以在线程中使用TranslateAnimation,Checkout herehere以获取更多信息

 ImageView img_animation = (ImageView) findViewById(R.id.img_animation);

    TranslateAnimation animation = new TranslateAnimation(0.0f, 400.0f,
            0.0f, 0.0f);          //  new TranslateAnimation(xFrom,xTo, yFrom,yTo)
    animation.setDuration(5000);  // animation duration 
    animation.setRepeatCount(5);  // animation repeat count
    animation.setRepeatMode(2);   // repeat animation (left to right, right to left )
    //animation.setFillAfter(true);      

    img_animation.startAnimation(animation);  // start animation 

答案 1 :(得分:0)

首先,请始终发布日志。你通常可以在那里看到崩溃的原因。

这就是说,我会假设您崩溃的原因是您尝试在非ui线程中修改UI。你永远不能那样做! Here是一个SO问题,有一些很好的解释。或者here还有一些来自android文档。