활동에서 테이블 레이아웃을 동적으로 설정하려고합니다. 행과 열의 수는 사용자의 입력에 따라 다릅니다.
그래서 문제 -행의 수는 괜찮지 만 각 행의 열 (textViews) 수는 항상 배열의 가장 낮은 값과 같습니다 no_periods[ ]
. 예를 들어. no_days의 값이 5이면 no_periods[]
2, 3, 4, 5, 6 값이 있습니다. 테이블에는 5 개의 행이 있지만 각 행에는 각 행에 2, 3, 4, 5, 6 개의 textView 대신 2 개의 textView 만 있습니다.
다음은 내가 시도하는 코드입니다.
//loop to set the rows and text view in the table layout of activity_home
for (int i = 0; i < no_days; i++) {
tableRow = new TableRow(TimeTable.this);
for (int j = 0; j <no_periods[i]; j++) {
textView = new TextView(TimeTable.this);
textView.setHint("Click");
textView.setClickable(true);
textView.setOnClickListener(click_listen);
int maxpixels = screenWidth/(no_periods[i]);
int minpixels = maxpixels;
textView.setPadding(10, 10, 10, 10);
textView.setMaxWidth(maxpixels);
textView.setMinWidth(minpixels);
tableRow.addView(textView);
}
tableLayout.addView(tableRow);
}
max 및 minWidth를 설정하는 대신 TableRow weight를 사용합니다 .
textView.setPadding(10, 10, 10, 10);
tableRow.addView(textView, new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1));
이렇게하면 각 행의 TextView간에 가로 공간이 분산됩니다.
추신. 당신도 아마 사용하고 싶을 것입니다 textView.setGravity(Gravity.CENTER);
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다