0

だから私は自分の活動を始めてから

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


}
4

2 に答える 2

1

imagebuttonを非表示にします。 次に、アニメーションでアニメーションリスナーを設定し、アニメーションコールバックメソッドの開始時にボタンを表示するように設定します

アップデート:

        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 に答える