2011-05-16 42 views
0

我正在创建自己的视图并在画布中绘制位图。如果我将它设置为(100,100),则它在320 * 480屏幕上很好,但在较大的480 * 800上不显示在同一个地方。Android Views在画布中绘制

我怎样才能得到它在同一个地方。我已经搜索谷歌很多,但无法找到解决方案。

任何提示?教程?

感谢

回答

0

您可以在自定义视图中使用此方法来获取画布的确切大小。然后你可以计算你将绘制位图的矩形的位置和大小。

@Override public void onSizeChanged (int w, int h, int oldw, int oldh){  
    super.onSizeChanged(w, h, oldw, oldh); 

    canvasW = w; 
    canvasH = h; 

} 

您也可以在此方法中调整位图大小以适应画布的大小。

尽管您的画布可能会占用整个屏幕,但在Android 3.0中,底部会有一个栏需要一些空间,因此onSizeChanged会给出实际大小的画布。

+0

谢谢,似乎是一个很好的解决方案。 – james 2011-05-16 23:09:26

1

我想你一定要把显示指标

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth(); 
int height = display.getHeight(); 

,并给你的画布动态值。像这样的width/5。 我希望这会帮助你。