红框表示的是手机屏幕,篮框表示的是ImageView里面缩放好的图片,我如何才能拿到里面显示区域的xy坐标和大小呢?
------解决方案--------------------
No 木有办法。
如果要是实现,只能自己写Imageview
------解决方案--------------------
matrix里面有个函数
float[] values = new float[9];
matrix.getValues(values);
这个数组里面存着这个imageview中的信息,比如scale,距离屏幕上端距离和距离屏幕左端距离。
具体要自己去看下,因为数组里信息存放的位置和图片的旋转角度有关系
------解决方案--------------------
------解决方案--------------------
你确定位置只需要2,5就可以了,缩放比没旋转是0,顺时针90度是3,180度是-0, 270度是1。
其他我也不太清楚了。
------解决方案--------------------
如果不用imageview如果获得当前的位置呢。也不用matrix进行缩放。
------解决方案--------------------
这个很简单,有这样的几个方法:
- Java code
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的继承类,在这个继承类里的onDraw()方法里获取