0

Я пытаюсь многократно менять изображения в режиме просмотра изображений (неважно, какой компонент использовать). Мне нужно менять фоновое изображение каждые N секунд.
Я попытался использовать анимацию с возможностью рисования, объявляя изображения в XML-файле.
Это работает, но я не знаю, чтобы применить к нему какой-либо эффект, например, угасать, размыть или что-то другое.
Так что моя задача - периодически менять фоновое изображение с эффектом перехода.
Пожалуйста, предложите, как с этим справиться, я был бы очень благодарен за любую помощь.Анимация об изменении ресурса изображения

ответ

0

Я использовал переключатель изображения для переключения изображения в регулярные промежутки времени

XML часть

<ImageSwitcher 
         android:id="@+id/smsimg" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 

         android:src="@drawable/defaultimage" /> 

код класса был как этот

private final int[] images = { R.drawable.vava, R.drawable.vavaone,R.drawable.vavatwo,R.drawable.vavathree,R.drawable.vavafour, 
       }; 


@Override 
     protected void onCreate(Bundle savedInstanceState) { 

    img=(ImageSwitcher)findViewById(R.id.smsimg); 
      startAnimatedBackground(); 



    private void startAnimatedBackground() { 
       Animation aniIn = AnimationUtils.loadAnimation(this, 
         android.R.anim.fade_in); 
       aniIn.setDuration(3000); 
       Animation aniOut = AnimationUtils.loadAnimation(this, 
         android.R.anim.fade_out); 
       aniOut.setDuration(3000); 

       final ImageSwitcher imageSwitcher = (ImageSwitcher) findViewById(R.id.smsimg); 
       imageSwitcher.setInAnimation(aniIn); 
       imageSwitcher.setOutAnimation(aniOut); 
       imageSwitcher.setFactory(this); 
       imageSwitcher.setImageResource(images[index]); 

       final Handler handler = new Handler(); 
       Runnable runnable = new Runnable() { 

        @Override 
        public void run() { 
         if (isRunning) { 
          index++; 
          index = index % images.length; 
          Log.d("Intro Screen", "Change Image " + index); 
          imageSwitcher.setImageResource(images[index]); 
          handler.postDelayed(this, interval); 
         } 
        } 
       }; 
       handler.postDelayed(runnable, interval); 

      } 
Смежные вопросы