当前位置: 代码迷 >> Android >> 怎么获取LinearLayout里ImageView的坐标及大小
  详细解决方案

怎么获取LinearLayout里ImageView的坐标及大小

热度:39   发布时间:2016-05-01 12:33:43.0
如何获取LinearLayout里ImageView的坐标及大小
当点击按钮时调用drawDigit()方法,puzzleview仅仅是Activity里面的一个LinearLayout

protected void drawDigit(Canvas canvas, int digit) {
// TODO Auto-generated method stub
if(num < diff){
int x = tiles.get(num).getScrollX();  // 获取ImageView的X坐标是0
int y = tiles.get(num).getScrollY();  // 获取ImageView的Y坐标是0
float height = tiles.get(num).getHeight(); // 高度是0
float width = tiles.get(num).getWidth();   // 宽度是0
background.setTextSize(height * 0.75f);
background.setStyle(Style.FILL);
background.setTextScaleX(width/height);
background.setTextAlign(Paint.Align.CENTER);
canvas.drawText(digit + "", x, y, background);
//num++;
}
}

怎么将Layout里面的ImageView赋给tiles,然后获取其坐标和大小
求大侠指点
------解决方案--------------------
沙发自己坐,顶一下
------解决方案--------------------
坐等大侠指点
------解决方案--------------------
你可是试试这个:
//这是为获取布局中固定的ImageView的大小
int imageHeight;
int imageWidth;

ImageView imageViewObj = (ImageView)findViewById(R.id.image_view_id);
ViewTreeObserver treeObsObj = imageViewObj.getViewTreeObserver();
treeObsObj.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {

    public boolean onPreDraw() {
    imageWidth= imageViewObj.getMeasuredWidth();
    imageHeight = imageViewObj.getMeasuredHeight();
    return true;
}
});
//获取ImageView中Image的大小
ImageView imageObj = (ImageView)findViewById(R.id.image_view_id);
int imageWidth = imageObj.getWidth();
int imageHeight = imageObj.getHeight();

------解决方案--------------------
这楼上的回答,不过好像不好使,另外坐标还怎么算呢
------解决方案--------------------
按照楼上第一个做法,得出的结果不太对,虽然不是0,但一个是120一个是60,第二个方法得出的是0,坐标该如何得出呢?谢谢楼上的回复
------解决方案--------------------
坐等大侠回复
  相关解决方案