web-dev-qa-db-ja.com

アニメーションのズームインとズームアウトandroid

通常、2つのアクティビティ間でアニメーションをズームインおよびズームアウトするコードがありますが、何か違うものが必要です。最初のボタンをクリックすると、最初のアクティビティに5つのボタンがあり、中央からズームするのではなく、最初のボタンの位置からのみズームインが開始されます。私を助けてください。

編集:ズームは、中央としてクリックしたボタンから開始する必要があります。

22
jagdish

コマンドを実行した後にこのメソッドを使用して、新しいアクティビティを開始できます。

startActivity(intent);
overridePendingTransition(animation_in_goes_here,animation_out_goes_here);

次に、上記のアニメーションを置き換えて、animation_in_goes_here新たに開始したアクティビティに必要なアニメーションリソースとanimation_out_goes_here出発するアクティビティのアニメーションリソース。これにより、切り替え効果が得られます。

zoom_in.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:Android="http://schemas.Android.com/apk/res/Android" Android:fillAfter="true">
    <scale
    Android:duration="1000"
    Android:fromXScale="1"
    Android:fromYScale="1"
    Android:pivotX="50%"
    Android:pivotY="50%"
    Android:toXScale="3"
    Android:toYScale="3"/>
 </set>

zoom_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:Android="http://schemas.Android.com/apk/res/Android" Android:fillAfter="true">
    <scale
    Android:duration="1000"
    Android:fromXScale="1.0"
    Android:fromYScale="1.0"
    Android:pivotX="50%"
    Android:pivotY="50%"
    Android:toXScale="0.5"
    Android:toYScale="0.5"/>
</set>

これがあなたの質問に答えてくれることを願っています。

37
kabuto178

ズームイン

<scale xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:duration="1000"
    Android:fromXScale="0"
    Android:fromYScale="0"
    Android:pivotX="50%"
    Android:pivotY="50%"
    Android:toXScale="0.5"
    Android:toYScale="0.5">

</scale>

ズームアウトする

<scale xmlns:Android="http://schemas.Android.com/apk/res/Android"

    Android:duration="1000"
    Android:fromXScale="2.1"
    Android:fromYScale="2.1"
    Android:pivotX="50%"
    Android:pivotY="50%"
    Android:startOffset="3000"
    Android:toXScale="0"
    Android:toYScale="0">

</scale>
3
bhoomika

私はあなたがしなければならないと思います

  • 「イン」および「アウト」アニメーションを設定する
  • フォルダres/animを作成します
  • アニメーションの説明をres/animフォルダーに入れます

    object.setInAnimation(AnimationUtils.loadAnimation(this、R.anim.zoom_enter)); object.setOutAnimation(AnimationUtils.loadAnimation(this、R.anim.zoom_exit));

Apache 2.0ライセンスでGoogleが提供するAndroid sdkサンプルアニメーションを使用できます

または、前者より簡単なスケーリングベースのズームを使用するこれを参照してください

http://developer.Android.com/training/animation/zoom.html

2
Yash Krishnan