gpt4 book ai didi

java - 创建循环播放 5 张图像的幻灯片

转载 作者:太空宇宙 更新时间:2023-11-04 15:08:15 25 4
gpt4 key购买 nike

我想创建一个图像幻灯片,在其中循环重复 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();
}

最佳答案

为此使用FrameAnimation

并添加frameanimatin.setOneShot(false);

关于java - 创建循环播放 5 张图像的幻灯片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21696141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com