如何强制将画布绘制的视图尺寸精确?

时间:2019-04-08 09:40:28

标签: android android-canvas android-viewgroup

我正在尝试强制绘制的视图尺寸正确。 无论我怎么尝试,它都会忽略尺寸。

代码:

要以250x250像素绘制我的视图:

public class MyCustomView extends View {
    public MyCustomView(Context context) {
        super(context);
    }

    public MyCustomView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);

        FlowLayout layout = new FlowLayout(getContext());

        for (int i = 0; i < 30; i++) {
            TextView textView = new TextView(getContext());
            textView.setText("[text#" + i + "]");
            textView.setBackgroundColor(Color.GREEN);
            layout.addView(textView);
        }

        int dimension = 250;

        layout.measure(
                dimension,
                dimension);

        layout.layout(0, 0,
                dimension,
                dimension);

        layout.draw(canvas);

    }
}

结果:

enter image description here

布局显然无法以250x250像素呈现。

如果将FlowLayout交换为标准的Android SDK布局(如线性布局),结果将是相同的。

请帮助。

0 个答案:

没有答案