2016-03-26 11 views
0

Ich habe ein Problem mit meiner Anwendung. Ich möchte mein Hintergrundbild automatisch gleiten lassen, ohne eine Taste zu drücken, sondern das Zeitintervall zu verwenden. Ich folge einigen Anweisungen von einigen Artikeln, aber sie schieben nur das Hintergrundbild mit der Taste. Kann jemand mir helfen, den Code zu redigieren, damit das Bild während einiger Zeit automatisch gleitet? DankeBild Folie automatisch während einer gewissen Zeit

Hier ist mein Code.

Java-Code:

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]); 
      } 
     } 
    }); 

} 

Antwort

0

Sie erstellen Anim-Ordner unter res Ordner Und

<?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> 

auf imgae_animation.xml eine imgae_animation.xml Datei unter anim Ordner Schreib erstellen und dann hinzufügen, um dieses anim unter .xml zu imageview

<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

sorry aber ich gerade öffne es und sieh es dir jetzt an, danke, dass du mir eine Inspiration für die Lösung des Problems gegeben hast. Ich schätze es sehr. –

Verwandte Themen