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()