#java #android #user-interface #tablelayout #android-tablelayout
#java #Android #пользовательский интерфейс #tablelayout #android-табличное описание
Вопрос:
Я добавил макет таблицы программно в свое приложение. Первый столбец состоит из imageviews, а второй — из textviews, как в приведенном ниже коде
for (int i = 0; i <23; i ) {
TableRow row= new TableRow(this);
TableRow.LayoutParams lp = new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT);
row.setLayoutParams(lp);
tv = new TextView(this);
tv.setText(array[i]);
ImageView image65 = new ImageView(this);
image65.setBackgroundResource(R.drawable.ic_no);
row.addView(tv,1);
row.addView(image65,0);
ll.addView(row,i);
}
Все хорошо, за исключением того, что я хочу указать ширину и длину представления изображения в sp. Как мне добавить layoutprams для представления изображения рядом с layout-prams строки? Я попробовал следующее, но это не сработало.
for (int i = 0; i <23; i ) {
TableRow row= new TableRow(this);
TableRow.LayoutParams lp = new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT);
row.setLayoutParams(lp);
TableRow.LayoutParams lp2 = new TableRow.LayoutParams(customwidth,customheight);
tv = new TextView(this);
tv.setText(array[i]);
ImageView image65 = new ImageView(this);
image65.setBackgroundResource(R.drawable.ic_no);
image65.setLayoutParams(lp2);
row.addView(tv,1);
row.addView(image65,0);
ll.addView(row,i);
}
Ответ №1:
Я нашел решение
for (int i = 0; i <23; i ) {
TableRow row= new TableRow(this);
TableRow.LayoutParams lp = new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT);
row.setLayoutParams(lp);
tv = new TextView(this);
tv.setText(array[i]);
ImageView image65 = new ImageView(this);
Drawable d = getResources().getDrawable(R.drawable.ic_yes);
image65.setImageDrawable(d);
image65.setLayoutParams(new TableRow.LayoutParams(40, 40));
row.addView(tv,1);
row.addView(image65,0);
ll.addView(row,i);
}