0

私はAndroid開発に不慣れです。

レイアウトに1つの画像があります。その画像にはスケールアニメーションを使用しました。そして、特定のポイントで画像のスケーリングを停止することができます。次に、別のクリックリスナーでその画像のサイズを変更したいと思います。

どうやってするか?何かアイデアがあれば、助けてください。

これが私のコードです。

final ImageView img_graph= (ImageView)findViewById(R.id.graph01);
   final Animation AnimationScale= AnimationUtils.loadAnimation(this,R.anim.anim_scale);
   final Animation AnimationScale_reverse= AnimationUtils.loadAnimation(this,R.anim.anim_scale_reverse);


        if(flag ==FLAG_SCALE_IN) { 
            if(resp==0){
   img_graph.setOnClickListener(new ImageView.OnClickListener(){

       public void onClick(View arg0) {

        // TODO Auto-generated method stub

         img_graph.setBackgroundResource(R.drawable.page01_graph);
         img_graph.startAnimation(AnimationScale);
       }});     
            }     
            }      
        if(flag==FLAG_SCALE_OUT) { 
            if(resp==1){
   img_graph.setOnClickListener(new ImageView.OnClickListener(){

       public void onClick(View arg0) {

        // TODO Auto-generated method stub

         img_graph.setBackgroundResource(R.drawable.page01_graph);
         img_graph.startAnimation(AnimationScale_reverse);
       }});
            }
            }   
4

2 に答える 2

3

同じ listner で if else を使用してこのケースを処理できないでしょうか?

   img_graph.setOnClickListener(new ImageView.OnClickListener(){

       public void onClick(View arg0) {


                      if(resp==0 && flag ==FLAG_SCALE_IN) { 
                             img_graph.setBackgroundResource(R.drawable.page01_graph);
                             img_graph.startAnimation(AnimationScale);
                      }else if( resp==1 &&flag ==FLAG_SCALE_OUT) {
                           img_graph.setBackgroundResource(R.drawable.page01_graph);
                            img_graph.startAnimation(AnimationScale_reverse);
                          }
                }
       }});     
于 2012-05-31T05:32:09.590 に答える
1

さらなる最適化:

public void imageViewClick(View v)
{
    if(flag==FLAG_SCALE_IN && resp==0)
        {
        }
        else if(flag==FLAG_SCALE_OUT && resp==1)
        {                     
        }
}
于 2012-05-31T05:40:02.320 に答える