Android自定义查看尺寸和画布坐标

时间:2014-01-23 08:22:56

标签: android android-layout bitmap android-canvas android-view

我有应该绘制位图的自定义视图。我创建了一个简单的线(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?

非常重要的是,我想在这个视图上多次使用相同的位图。在工作结束时,我想从视图的底部到顶部绘制这条线。

1 个答案:

答案 0 :(得分:1)

我认为你应该使用什么来绘制位图上方的行:

drawLine(float startX, float startY, float stopX, float stopY, Paint paint) 

并为其提供在位图顶部绘制的正确坐标。

希望有所帮助。