尝试旋转图像时程序停止

时间:2013-07-18 00:52:18

标签: android image animation imageview rotateanimation

我是Android编程的新手,我正在尝试旋转图像。

这是我的代码:

public class MainActivity extends Activity {

    ImageView x; 
    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); 
        x = (ImageView)findViewById(R.drawable.clippedneedle); 
        RotateAnimation newAnim = new RotateAnimation(0,360); 
        newAnim.setFillAfter(true); 
        newAnim.setDuration(10); 
        x.startAnimation(newAnim); 

    }
}

我的布局文件是标准的,只包含来自ImageView的代码。

基本上,我的程序一打开就会停止运行。 logcat表示该线程正在退出未捕获的异常。

非常感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

您正在传递Drawable的ID:

x = (ImageView)findViewById(R.drawable.clippedneedle); 

您需要传递ImageView的ID。如果ImageView中有R.layout.activity_main,请执行以下操作:

x = (ImageView)findViewById(R.id.myImageViewId);
x.setImageDrawable(getResources().getDrawable(R.drawable.clippedneedle

以下是您的代码,但有一些更改:

x = (ImageView)findViewById(R.drawable.clippedneedle); 
RotateAnimation newAnim = new RotateAnimation(0.0f, 360.0f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); 
newAnim.setFillAfter(true); 
newAnim.setDuration(2000);    // 2 seconds || 2000 milliseconds 
x.startAnimation(newAnim);

你可以在这里做更多的事情。看看Android developer's resource page on Animation