红框表示的是手机屏幕,篮框表示的是ImageView里面缩放好的图片,我如何才能拿到里面显示区域的xy坐标和大小呢?

解决方案 »

  1.   

    No  木有办法。
    如果要是实现,只能自己写Imageview
      

  2.   

    matrix里面有个函数
    float[] values = new float[9];
    matrix.getValues(values);
    这个数组里面存着这个imageview中的信息,比如scale,距离屏幕上端距离和距离屏幕左端距离。
    具体要自己去看下,因为数组里信息存放的位置和图片的旋转角度有关系
      

  3.   

    如果不用imageview如果获得当前的位置呢。也不用matrix进行缩放。
      

  4.   

    这个很简单,有这样的几个方法:
    mView = (ImageView) findViewById(R.id.iv_test);
            mView.post(new Runnable() {
    public void run() {
    float x = mView.getLeft();
            float y = mView.getTop();
            float width = mView.getWidth();
            float height = mView.getHeight();
            float right = mView.getRight();
            float bottom = mView.getBottom();
            
            Log.i("^_^ Runnable", "x = " + x + ", y = " + y + ", width = " + width + ", height = " + height + 
             ", right = " + right + ", bottom = " + bottom);
    }
    });
    会依次得到你的ImageView的左、上、右、下的坐标以及宽和高的值。
      

  5.   

    自己写一个ImageView的继承类,在这个继承类里的onDraw()方法里获取