Я пытаюсь заставить нарисованный вид иметь точное измерение.
Независимо от того, как я пытаюсь он игнорирует размеры.
Код:
На мой взгляд, отрисовано в 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, например, на Linear Layout, результат будет тот же.
Пожалуйста, помогите, если можете.