Android自定义视图和画布大小

时间:2012-10-20 14:01:12

标签: android canvas view

我创建了一个自定义视图,用于创建位图,然后在onDraw()方法中显示对象数据。

同样在XML文件中,我使视图可以水平滚动。

我的问题是在我从onDraw()方法绘制画布上的所有数据之后,如何增加视图的大小以显示所有数据。

即我希望视图滚动得足够直到数据完成而不再存在。

我确实显示了最后一项的y坐标。

目前我在XML文件中将视图的宽度设置为800dp,但是对于某些对象,它会删除一些数据。

由于

1 个答案:

答案 0 :(得分:3)

您可以覆盖onMeasure()方法来调整View

的大小
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    int parentViewWidth = MeasureSpec.getSize(widthMeasureSpec);
    int parentViewHeight = MeasureSpec.getSize(heightMeasureSpec);
    // ... take into account the parent's size as needed ...
    super.onMeasure(
        MeasureSpec.makeMeasureSpec(newWidth, MeasureSpec.EXACTLY), 
        MeasureSpec.makeMeasureSpec(newHeight, MeasureSpec.EXACTLY));
}