2016-12-30 3 views
0

Ich kann nicht herausfinden, warum mein ImageSwitcher das Bild nicht zeigt, wenn die Aktivität zuerst lädt. Ich habe die Bildquelle in der onCreate Methode eingestellt, aber das Bild scheint unsichtbar zu sein, bis ich die Animation starte. Die Animation sollte ein Bild herausziehen und ein zweites Bild hineinschieben. Wenn ich auf die Schaltfläche klicke, um die Animation zu starten, kann ich sehen, wie das ursprüngliche Bild herausrutscht, aber ich kann es am Anfang nicht sehen. Ich habe versucht, das Bild innerhalb des ViewFactory Einstellung und etwas außerhalb, aber es scheint nichtImageSwitcher Bild wird nicht angezeigt onCreate()

Hier ist mein imageSwitcher Code zu arbeiten:

mImageSwitcher = (ImageSwitcher)findViewById(R.id.imageSwitcher); 
    mImageSwitcher.setOnClickListener(mImageSwitcherClickListener); 

    mImageSwitcher.setFactory(new ViewFactory() { 
     @Override 
     public View makeView() { 
      ImageView view = new ImageView(getApplicationContext()); 
      view.setScaleType(ImageView.ScaleType.CENTER); 
      view.setLayoutParams(new 
        ImageSwitcher.LayoutParams(LayoutParams.WRAP_CONTENT, 
        LayoutParams.WRAP_CONTENT)); 
      view.setImageResource(R.mipmap.image); 
      return view; 
     } 
    }); 
    mImageSwitcher.setImageResource(R.mipmap.image); 

Hier ist das Layout für die Aktivität:

<ImageSwitcher 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/imageSwitcher" 
    android:layout_centerHorizontal="true" 
    android:layout_gravity="bottom|center" 
    android:alpha=".5" 
    android:scaleX="4" 
    android:scaleY="4" 
    android:layout_marginBottom="150dp" 
    android:animateFirstView="true"/> 
+0

warum verwenden Sie MipMap verwenden R.drawable.image – siddhesh

+0

ich sah nur den Unterschied zwischen den zwei Ordner .... Ich habe es nicht zu erkennen, einen Unterschied war – fmi

+0

geben ein Versuch, wenn es funktioniert – siddhesh

Antwort

1

In Tutorials zeigt es Ihnen Animation

versuchen, diese

verwenden
Animation in = AnimationUtils.loadAnimation(this,android.R.anim.slide_in_left); 
imageSwitcher.setInAnimation(in); 
imageSwitcher.setOutAnimation(out); 

Referenz von diesem link

+0

Ughhh ... Ich hatte diesen Code in meiner onResume() Methode ... Ich bin ein Idiot! DANKE!!! – fmi

Verwandte Themen