我有应该绘制位图的自定义视图。我创建了一个简单的线(bmp 1x50像素)来检查将精确绘制的位置。在我onDraw(Canvas c)
我正在使用这行代码:
canvas.drawBitmap(bitmap, 0, 0, paint);
其中paint是简单的Paint对象,没有任何花哨的设置。问题是这条线显示在视图的中间,而不是顶部,正如我想的那样。
我在布局xml中设置了View属性:
<com.example.CustomView
android:id="@+id/costom_view"
android:layout_width="230px"
android:layout_height="188px"
android:layout_marginTop="10px"
custom:srcDraw="@drawable/menu_indicators_level_draw_up" />
此自定义属性是我用于在画布上绘制的位图的ID。
为什么View不能正常运行?为什么我的画布尺寸如果800x450(我猜的屏幕大小)而不是我在布局中定义的230x188?
非常重要的是,我想在这个视图上多次使用相同的位图。在工作结束时,我想从视图的底部到顶部绘制这条线。
答案 0 :(得分:1)
我认为你应该使用什么来绘制位图上方的行:
drawLine(float startX, float startY, float stopX, float stopY, Paint paint)
并为其提供在位图顶部绘制的正确坐标。
希望有所帮助。