Animieren der Höhe einen Blick android

Hallo, ich bin versucht zu animieren, die Höhe einer Ansicht in android sagen alle 5 Sekunden :-

  1. Höhe geht von 0 bis 5
  2. Höhe geht von 5 bis 10
  3. Höhe geht, von 10 auf 3 usw.

Ich bin mit dem folgenden code :-

    public class ShowAnimation extends Animation{
    float finalHeight;
    View imageview;

    public ShowAnimation(View view,float deltaheight){
        this.imageview=view;
        this.finalHeight=deltaheight;
    }

    protected void applyTransformation(float interpolatedtime,Transformation t){
        imageview.getLayoutParams().height=(int)(finalHeight*interpolatedtime);
        imageview.requestLayout();
    }
    @Override
    public void initialize(int width, int height, int parentWidth,
            int parentHeight) {
        super.initialize(width, height, parentWidth, parentHeight);
    }

    @Override
    public boolean willChangeBounds() {
        return true;
    }
    }

und initialisieren Sie es wie diese:-

Animation anidelta = new ShowAnimation(delta, deltaheight);
anidelta.setDuration(500/* animation time */);
delta.startAnimation(anidelta);

Aber mit diesem bekomme ich die folgenden:-

  1. Höhe geht von 0 bis 5
  2. Höhe geht von 0 bis 10
  3. Höhe geht von 0 bis 3

ich soll die Höhe zu sein, animiert von Ihrer früheren Höhe, anstatt von 0 everytime.
Kann mir bitte jemand helfen hier

Edit1:-
Ich habe diese

Animation anidelta = new ShowAnimation(delta, deltaheight);
anidelta.setDuration(500/* animation time */);
anidelta.setFillAfter(true);
delta.startAnimation(anidelta);

Aber es immer noch animiert von 0 bis zu der newheight.

  • set animation.setFillAfter(true); sollte das problem lösen.
  • Habe ich gemacht aber es funktioniert nicht. Bitte siehe mein edit
InformationsquelleAutor Rasmus | 2012-12-07
Schreibe einen Kommentar