4 개의 열이있는 TableLayout이 있습니다. 열 1을 늘리려면 다음을 수행하십시오.TableLayout의 열 너비를 측정하십시오.
android:stretchColumns="1"
이 방법은 잘 작동합니다. 이제 화면에 표시되면이 열의 너비를 측정해야합니다. 이 열에 사용자 지정보기를 맞추기 때문에이 작업을 수행해야합니다.
그래서이 사용자 정의 그려진 사각형 내의 TableView의 컬럼 1에 적합해야한다}
public class TaskRectangleView extends View {
private ShapeDrawable mDrawable;
private Paint textPaint;
private String task;
public TaskRectangleView(Context context, String task, int width, int height) {
super(context);
this.task = task;
int x = 10;
int y = 10;
mDrawable = new ShapeDrawable(new RectShape());
int color = DbSettingsManager.getInstance(context).getColorByName(task);
mDrawable.getPaint().setColor(color);
mDrawable.setBounds(x, y, x + width, y + height);
textPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
textPaint.setColor(Color.WHITE);
textPaint.setTextSize(10);
}
protected void onDraw(Canvas canvas) {
mDrawable.draw(canvas);
canvas.drawText(this.task, 10, 20, textPaint);
}
:이 사용자 지정보기 1. 내가하여 사각형을 그립니다이 칼럼의 전체 폭에 기입하여야 단지 직사각형 . 이를 위해 (나는 믿기 때문에) 표시 시간에 열 너비를 측정해야합니다. 이 작업을 수행하는 방법? 감사!
확인 감사로 설정은 "layout_width"속성을 사용할 수 있습니다. 그럼 어떻게할까요? TableLayout에는 부모 (열 너비)를 채우는 첫 번째 행에 내 사용자 지정보기가 있습니다. 두 번째 행에는 첫 번째 사용자 지정보기 너비의 80 % 인 다른 사용자 지정보기가 있습니다. 두 번째 (80 %) 너비는 어떻게 얻습니까? –