我是Android的新手,我想创建没有任何监听器的幻灯片,我的意思是我想打开我的应用程序,只看到有效的动画。我找不到示例或教程,任何人都可以帮助我?感谢
答案 0 :(得分:0)
如果您想在没有用户交互的情况下自动执行任何操作,则必须使用背景线程。在Android中,您无法调用从后台线程修改UI的方法。当您计划定期更新用户界面时,最好使用AsynchTash。
private class SwitchImagesTask extends AsyncTask<Integer, Integer, Intehger> {
protected Long doInBackground(Integer... itemCount) {
for (int i = 0; i < itemCount[0]; i++) {
try{Thread.wait(1000);}catch(Exception e) {return -1;}
publishProgress(i);
}
return 1;
}
protected void onProgressUpdate(Integer... progress) {
// Display your image here
}
protected void onPostExecute(Integer result) {
// Say goodby to the user
}
}
如果幻灯片放映意味着一个接一个的图像,那么最简单的方法是将ImageView添加到布局中,并change它的内容。
答案 1 :(得分:0)
如果你调用一个活动,你可以在扩展线程的内部类中使用layoutinflater。
public class SlideshowActivity extends Activity {
private static final int[] mSlides = new int[]{R.layout.layout_a , R.layout.layout_b , R.layout.layout_c};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
new StartSlideShow().start();
}
class StartSlideShow extends Thread
{
@Override
public void run() {
LayoutInflater inflator = SlideshowActivity.this.getLayoutInflater();
for(int inx = 0 ; inx < mSlides.length ; inx++)
{
try {
sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
inflator.inflate(mSlides[inx], null);
}
}
}
}