创建没有mouselistener的幻灯片

时间:2011-10-16 14:11:39

标签: android android-widget

我是Android的新手,我想创建没有任何监听器的幻灯片,我的意思是我想打开我的应用程序,只看到有效的动画。我找不到示例或教程,任何人都可以帮助我?感谢

2 个答案:

答案 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);
        }
    }
}

}