Я хочу создать слайд-шоу с изображениями, в которых я хочу повторить 5 изображений, чтобы войти в цикл, пока не будет нажата кнопка. Также я хочу получить некоторый эффект между изображениями, чтобы переход выглядел красиво. Я могу создать слайд-шоу, но проблема в том, что он не повторяется. вот мой код:Создание слайд-шоу с 5 изображениями в цикле
public class Slides extends Activity implements OnClickListener {
Button button;
Boolean goingOn = false;
AnimationDrawable animation;
private TransitionDrawable trans;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.discolight);
final ImageView lights = (ImageView) findViewById(R.id.img);
button=(Button)findViewById(R.id.power);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(goingOn)
{
stopAnimation();
goingOn=false;
}
else
{
startAnimation();
goingOn=true;
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu m) {
MenuInflater inf = getMenuInflater();
inf.inflate(R.menu.frontscreenmenu, m);
return true;
}
class Starter implements Runnable {
public void run() {
animation.start();
}
}
private void startAnimation() {
animation = new AnimationDrawable();
animation.addFrame(getResources().getDrawable(R.drawable.a), 1000);
animation.addFrame(getResources().getDrawable(R.drawable.b), 1000);
animation.addFrame(getResources().getDrawable(R.drawable.c), 1000);
animation.addFrame(getResources().getDrawable(R.drawable.d), 1000);
animation.addFrame(getResources().getDrawable(R.drawable.e), 1000);
animation.addFrame(getResources().getDrawable(R.drawable.f), 1000);
animation.addFrame(getResources().getDrawable(R.drawable.g), 1000);
animation.addFrame(getResources().getDrawable(R.drawable.h), 1000);
animation.addFrame(getResources().getDrawable(R.drawable.i), 1000);
animation.addFrame(getResources().getDrawable(R.drawable.j), 1000);
animation.setOneShot(true);
ImageView imageView = (ImageView) findViewById(R.id.img);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
600, 800);
params.alignWithParent = true;
params.addRule(RelativeLayout.CENTER_IN_PARENT);
imageView.setLayoutParams(params);
imageView.setImageDrawable(animation);
imageView.post(new Starter());
}
private void stopAnimation() {
animation.stop();
}
Вместо 'goingOn = false' попробовать с возвратом false и вернуть true nd, сообщите, работает ли он или нет ??? – InnocentKiller
Когда анимация заканчивается, вам нужно дважды щелкнуть по кнопке, чтобы сделать ее перезагрузкой. Вы знаете об этом? – Blackbelt
О, да, ты прав Блэкбелт, я подумал, что посмотрю позже. –