读书人

ImageView如何确定内容的当前位置

发布时间: 2012-02-12 17:16:34 作者: rapoo

ImageView怎么确定内容的当前位置?


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

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

探讨

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()方法里获取

读书人网 >Android

热点推荐