自定义视图在冰淇淋三明治中效果很好,但onDraw并未调用Gingerbread

时间:2012-06-19 03:57:20

标签: android ondraw

我通过扩展View创建了一个自定义视图,它绘制了一个简单的图形,我将它添加到我的布局中:

GraphView graphView = new GraphView(this, values, titles, "Title");
LinearLayout scrollViewLinearLayout = (LinearLayout) findViewById(R.id.scrollViewLinearLayout);
scrollViewLinearLayout.addView(graphView);

它在Android 4.0下完美运行,但在Android 2.33下无法显示。实际上onDraw甚至没有在Android 2.33下调用。看来onMeasure被调用,因为scrollView正在添加视图以扩展以允许垂直滚动。

@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    int height = (titles.length * (24 + 20)) + 80 + (5 / 2) + 10;
    setMeasuredDimension(LayoutParams.FILL_PARENT, height);
}

1 个答案:

答案 0 :(得分:0)

我想出来,在Gingerbread下放置LayoutParams.FILL_PARENT,似乎没有效果,只要我尝试输入一个等于屏幕宽度的值,一切正常。