2013-03-17 20 views
7

イメージビューをクリックすると、ズームインとズームアウトをどのように設定できますか?イメージビューをクリックしたときにプログラムが反応して、その画面といつかそれは画面上の任意の場所にタッチして移動するに沿ってサイズを縮小します。再度クリックすると元のサイズに戻って行く私は何をしますか?イメージビューのアンドロイドでズームイン/ズームアウトするアニメーション

答えて

14

私が知る限り、2つの方法があります。

最初の方法:

は、「アニメーション」と呼ばれる解像度に新しいフォルダを作成します。内部にXMLファイルを作成するよりも、例えばzoomin.xml。その後、次のコードを内部に入れてください。

<scale xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromXScale="1" 
    android:toXScale="5" 
    android:fromYScale="1" 
    android:toYScale="5" 
    android:pivotX="50%" 
    android:pivotY="50%" 
    android:duration="1000" 
    android:fillAfter="true"> 
</scale> 

逆に値を逆にしてもう1つを作成します。

<scale xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromXScale="5" 
    android:toXScale="1" 
    android:fromYScale="5" 
    android:toYScale="1" 
    android:pivotX="50%" 
    android:pivotY="50%" 
    android:duration="1000" 
    android:fillAfter="true"> 
</scale> 

必要に応じて値を変更できます。私は彼らが自明であると思う。

これでJavaコードになりました。

ImageView imageView = (imageView)findViewById(R.id.yourImageViewId); 

Animation zoomin = AnimationUtils.loadAnimation(this, R.anim.zoomin); 
Animation zoomout = AnimationUtils.loadAnimation(this, R.anim.zoomout); 
imageView.setAnimation(zoomin); 
imageView.setAnimation(zoomout); 

これで、現在の状態を把握するだけで済みます。各状態のためのコードのこの行を実行します。例えば

imageView.startAnimation(zoomin); 

imageView.startAnimation(zoomout); 

は:

imageView.setOnClickListener(new OnClickListener(){ 
      public void onClick(View v) { 
       if(!pressed) { 
        v.startAnimation(zoomin); 
        pressed = !pressed; 
       } else { 
        v.startAnimation(zoomout); 
        pressed = !pressed; 
       } 
      } 
     }); 

他の方法は、ここに記載されている:http://developer.android.com/training/animation/zoom.htmlを。

+0

ありがとう –

0

あなたは、ユーザーがお好きなImageViewのに触れたときに見えない第三ImageViewのを使用する必要があり、あなたはImageViewの中でアニメーションを使用して、それを表示することができますすぐに簡単に

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

このガイドに従うことによって、これを行うことができます見えない。

関連する問題