我正在尝试强制绘制的视图尺寸正确。 无论我怎么尝试,它都会忽略尺寸。
代码:
要以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);
}
}
结果:
布局显然无法以250x250像素呈现。
如果将FlowLayout交换为标准的Android SDK布局(如线性布局),结果将是相同的。
请帮助。