0

所以我开始我的活动,然后

setContentView(R.layout.myxmllayoutfile);

一切都很好,但我想让我的 imagebutton 从无到有(即 1%)突然增长(缩放)。然而,布局已经显示了按钮,所以它突然消失然后又长回来了,而不是从无到有。

我有一些替代方案,但有真正的解决方案吗?: 1. 从屏幕外飞入 imagebutton 动画?; 或者 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% 然后增长之前仍然可见!欢迎提出建议。

更新2:

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

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


}
4

2 回答 2

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);
于 2012-07-18T05:53:11.920 回答
0

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

于 2013-04-10T14:43:52.120 回答