我是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表示该线程正在退出未捕获的异常。
非常感谢任何帮助。谢谢!
答案 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。