当前位置: 代码迷 >> Android >> getHeight()步骤返回的高度超出屏幕!
  详细解决方案

getHeight()步骤返回的高度超出屏幕!

热度:89   发布时间:2016-05-01 12:18:48.0
getHeight()方法返回的高度超出屏幕!!!!
  canvas.drawLine(10, 10, 10, canvas.getHeight(), paint);   //画竖线
  canvas.drawLine(0, canvas.getHeight(), 100, canvas.getHeight(), paint);//画横线
竖线能看到,横线就看不到了,如果有人说在边界的话,即使我减去30 还是看不到横线
  canvas.drawLine(0, canvas.getHeight()-30, 100, canvas.getHeight()-30, paint);
  
  说明得到的高度已经超出屏幕了,怎么回事??怎么解决??
  我本来是想放一张图片的,结果发现图片超出范围了,我是继承的View,覆写的onDraw
方法,怎么都不成功,还有我直接使用默认的设置背景结果也超出了
  setBackgroundResource(R.drawable.gameback);  
------解决方案--------------------
横竖屏getHeight()和getWidth()是反过来的
------解决方案--------------------
判断当前是否是为横竖屏 在来执行相关的drawLine方法
------解决方案--------------------
看上去好像你都没检测canvas.getHeight() 返回来的值,需要检测一下就能知道为什么看不见底下的横线了。而且canvas的尺寸是比View大的。

默认Canvas Constructor的denisity是DENSITY_NONE
为了尺寸设置为0-0.你需要为canvas设置setDesity,或者从display获得屏幕高度,或者用View.getHeight()