Остановка программы при попытке повернуть изображение
Я новичок в программировании 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 ответ
Вы передаете идентификатор Drawable
Вот:
x = (ImageView)findViewById(R.drawable.clippedneedle);
Вам нужно передать идентификатор ImageView
, Если у вас есть 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 разработчика по анимации.