在动画开始之前需要清除图像按钮

时间:2012-07-18 05:50:21

标签: android animation scale

所以我开始我的活动然后

setContentView(R.layout.myxmllayoutfile);

一切都很好,但是我想让我的图像按钮从零开始突然增长(缩放)(即1%)。然而,布局已经显示按钮,因此它会突然消失,然后再增长,而不是从无变化。

我有一些选择,但有真正的解决方案吗?: 1.从屏幕外飞行图像按钮动画? ;要么 2.使它在xml中变小然后再增长,然后在必要时改变可点击区域?要么 3.有更好的解决方案吗?

更新: 正如我所建议的那样:

<ImageButton
android:id="@+id/spinner"
android:scaleType="fitXY"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:background="@drawable/clear"
android:orientation="horizontal"
android:visibility="invisible"
android:src="@drawable/spin" 
/>

在我的java中:

scaleView.startAnimation(scanimation);
ImageButton spinnerbutton=(ImageButton)findViewById(R.id.spinner);
spinnerbutton.setVisibility(View.VISIBLE);

但它在收缩到1%然后增长之前仍然可见!建议欢迎。

UPDATE2:

以下编辑的代码没有任何改变:

public void growit() {
final ImageView scaleView = (ImageView) findViewById(R.id.spinner);
Animation scanimation = AnimationUtils.loadAnimation(this, R.anim.throbbing2);
scanimation.setFillAfter(true);
scanimation.setAnimationListener(new Animation.AnimationListener() {
public void onAnimationStart(Animation a) { Log.e("growit", "---- animation start listener called");
scaleView.setVisibility(View.VISIBLE);
}
public void onAnimationRepeat(Animation a) {
}
public void onAnimationEnd(Animation a) {
}
});
scaleView.startAnimation(scanimation);


}

2 个答案:

答案 0 :(得分:1)

隐藏图片按钮。 然后在动画集动画监听器和开始动画回调方法中设置按钮可见

更新:

        Animation animation = new ScaleAnimation(0.0f, 1.0f, 0.0f, 1.0f); 
        animation.setAnimationListener(new AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {
                mImageButton.setVisibility(View.VISIBLE);
            }
            @Override
            public void onAnimationRepeat(Animation animation) { }
            @Override
            public void onAnimationEnd(Animation animation) { }
        });
        mImageButton.startAnimation(animation);

答案 1 :(得分:0)

没有永久解决方案。刚刚使用了一种解决方法,在xml中将其缩小,然后按照问题中的建议将其增长为可能的“解决方案”/解决方法但不理想。