Andoid_ImageViewピクチャのスケール


public class MainActivity extends Activity {
    private Button local, network;
    private ImageView iv;
    RelativeLayout lay;
    private float now;
    private float last = -1;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        init();
    }

    private void init() {
        iv = (ImageView) findViewById(R.id.imageView);
        local = (Button) findViewById(R.id.local);
        network = (Button) findViewById(R.id.network);
        local.setOnClickListener(l);
        network.setOnClickListener(l);
        lay = (RelativeLayout) findViewById(R.id.lay);
        lay.setOnTouchListener(new View.OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                // TODO Auto-generated method stub  switch (event.getAction()) {
                    case MotionEvent.ACTION_DOWN:
                        Log.d("TAG", "down!!!");
                        break;
                    case MotionEvent.ACTION_MOVE:
                        Log.d("TAG", "move!!!");
                        //           if (event.getPointerCount() >= 2) {
                            float x = event.getX(0) - event.getX(1);
                            float y = event.getY(0) - event.getY(1);
                            now = (float) Math.sqrt(x * x + y * y);
                            if (last < 0) {
                                last = now;
                            } else {

                                if (now - last > 5) {
                                    Log.d("TAG", "  !");
                                    RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) iv  .getLayoutParams();
                                    lp.width = (int) (iv.getWidth() * 1.2);
                                    lp.height = (int) (iv.getHeight() * 1.2);
                                    iv.setLayoutParams(lp);
                                    last = now;
                                } else if (last - now > 5) {
                                    Log.d("TAG", "  !");
                                    RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) iv  .getLayoutParams();
                                    lp.width = (int) (iv.getWidth() * 0.8);
                                    lp.height = (int) (iv.getHeight() * 0.8);
                                    if (lp.width > 0.1) {
                                        iv.setLayoutParams(lp);
                                    } else {
                                        lp.width = 10;
                                        lp.height = 10;
                                        iv.setLayoutParams(lp);
                                    }
                                    last = now;
                                }
                            }
                        }
                        break;
                    case MotionEvent.ACTION_UP:

                        Log.d("TAG", "up!!!");

                        break;
                    default:
                        break;
                }
                return true;
            }
        });
    }

    ;
    View.OnClickListener l = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.local:
                    iv.setImageResource(R.drawable.sword);
                    break;

                case R.id.network:
                    BitmapUtils utils = new BitmapUtils(getApplicationContext());
                    utils.display(iv,"http://www.baidu.com/img/bd_logo1.png");
                    break;
            }
            ;
        }
    };



}