2013-03-30 2 views
0

Привет, Я пытаюсь создать растровые обои. Но это растровое изображение меняется каждые 10 секунд. Как я могу это сделать?Растровые обои меняют каждые 10 секунд android

Это то, что я пробовал:

// I have declared 
int[] images = {R.drawable.donna, R.drawable.donna1, R.drawable.marian, 
     R.drawable.marian1, R.drawable.marian}; 


Handler mHandler = new Handler(); 

ImageView imgView; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    imgView = (ImageView) findViewById(R.id.imageView1); 

       new Thread(new Runnable() { 
        public void run() { 
         // TODO Auto-generated method stub 
         while (true) { 
          try { 
           Thread.sleep(10000); 
           mHandler.post(new Runnable() { 

            public void run() { 
             // TODO Auto-generated method stub 
             // Write your code here to update the UI. 
             Random ran = new Random(); 
             imgView.setImageResource(images[ran.nextInt(images.length)]); 
            } 
           }); 
          } catch (Exception e) { 
           // TODO: handle exception 
          } 
         } 
        } 
       }).start(); 

Но мой вопрос, как я могу интегрировать функцию/метод установки этого в качестве обоев?

Любая помощь действительно оценена. Благодарю.

ответ

2

Вы можете использовать postDelayed() изменить образ wthin установленные сроки:

Handler mHandler = new Handler(); 
Runnable __runnable = new Runnable() 
{ 
    @Override 
    public void run() 
    { 
     Random ran = new Random(); 
     imgView.setImageResource(images[ran.nextInt(images.length)]); 
     mHandler.postDelayed(this, 10000);    
    } 
}; 
new Thread(__runnable).start(); 

Для вашего второго вопроса, см ссылку ниже:

how to set image as wallpaper from the ImageViev

+0

благодаря спариванию! сделают это. –