当点击按钮时调用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,坐标该如何得出呢?谢谢楼上的回复
------解决方案--------------------
坐等大侠回复