2016-03-26 20 views
0

Uygulamamda bir sorunum var. Arka plan resmim slaytını herhangi bir düğmeye basmadan, ancak zaman aralığını kullanmadan otomatik olarak yapmak istiyorum. Bazı makalelerden bazı yönergeleri takip ediyorum ancak sadece arka plan resmini düğmeyi kullanarak kaydırıyorum. Birisi kodu düzenlemek için bana yardımcı olabilir, böylece görüntü belirli bir süre boyunca otomatik olarak kayabilir mi? TeşekkürlerGörüntü belirli bir süre boyunca otomatik olarak slayt kaydırıyor

İşte kodum.

Java kodu:

int image[] = {R.drawable.backgroundtwo, R.drawable.backgroundthree, R.drawable.backgroundfour}; 

ImageSwitcher imageSwitcher; 
Button button; 
Animation slide_in_left, slide_out_right; 
int curIndex; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_homepage); 

    imageSwitcher = (ImageSwitcher) findViewById(R.id.imageSwitcher); 
    button = (Button) findViewById(R.id.button); 

    slide_in_left = AnimationUtils.loadAnimation(this, android.R.anim.slide_in_left); 
    slide_out_right = AnimationUtils.loadAnimation(this, android.R.anim.slide_out_right); 

    imageSwitcher.setInAnimation(slide_in_left); 
    imageSwitcher.setOutAnimation(slide_out_right); 

    imageSwitcher.setFactory(new ViewSwitcher.ViewFactory() { 
     @Override 
     public View makeView() { 

      ImageView imageView = new ImageView(Homepage.this); 
      imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); 

      ViewGroup.LayoutParams params = new ImageSwitcher.LayoutParams(
        ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT 
      ); 

      imageView.setLayoutParams(params); 
      return imageView; 
     } 
    }); 

    curIndex = 0; 
    imageSwitcher.setImageResource(image[curIndex]); 

    button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if(curIndex == image.length - 1){ 
       curIndex = 0; 
       imageSwitcher.setImageResource(image[curIndex]); 
      } else { 
       imageSwitcher.setImageResource(image[++curIndex]); 
      } 
     } 
    }); 

} 

cevap

0

Sen res klasörünün altında anim klasör oluşturmak Ve bu anim eklemek sonra anim klasörü altında

<?xml version="1.0" encoding="utf-8"?> 
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" 
android:oneshot="false" > 

<item 
android:drawable="@drawable/img1" 
android:duration="120"/> 
<item 
android:drawable="@drawable/img2" 
android:duration="120"/> 
<item 
android:drawable="@drawable/img3" 
android:duration="120"/> 
<item 
</animation-list> 

imgae_animation.xml üzerinde yazma bir imgae_animation.xml dosyası oluşturmak ve görüntü çözünürlüğü

için
<ImageView 
    android:id="@+id/img_home_list" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="5dp" 
    android:background="@null" 
    android:scaleType="fitXY" 
    android:adjustViewBounds="true" 
    android:contentDescription="@null" 
    android:src="@anim/imgae_animation" 
    /> 
+0

Üzgünüm ama sadece şimdi aç ve gör, bana sorunu çözmek için bana bir ilham verdiğiniz için teşekkürler. Çok takdir ediyorum. –

İlgili konular