Как добавить разделительные линии между моими таблицами, которые создаются программно?
У меня есть TableLayout, который создается программно в Android-проекте. Я продолжаю добавлять TableRows, если в базе данных больше строк. Теперь я хочу добавить разделительные линии, как границу, между TableRows.
В моем другом TableLayout, который я создал статически из XML, я использовал View как разделитель, стиль с style.xml.
Я попробовал добавить View в tablelayout следующим образом:
View v=new View(this);
v.setLayoutParams(new LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
v.setBackgroundResource(R.drawable.rowseparator_shape);
tr.addView(mTvDate);
tr.addView(mTvResult);
tl.addView(tr);
tl.addView(v);
Но он добавляется только после всех собранных таблиц. Что было бы разумным способом добавления одного представления для каждого тр? Или я должен использовать что-то еще все вместе?
Ответы
Ответ 1
View v = new View(this);
v.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, 1));
v.setBackgroundColor(Color.rgb(51, 51, 51));
tr.addView(mTvDate);
tr.addView(mTvResult);
tl.addView(tr);
tl.addView(v);
Здесь я создаю представление, которое имеет один пиксель с определенным цветом фона. Это работает для меня.
Ответ 2
Спасибо Мадхушутанану за это. Я потратил некоторое время на поиски, как это сделать, чтобы просто отделить TextViews горизонтальной линией. Я создавал свое представление программно (без использования макета таблицы). Вот что я придумал, основываясь на приведенном выше ответе:
View line = new View(this);
line.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, 1));
line.setBackgroundColor(Color.rgb(51, 51, 51));
layout.addView(line);
Simple! Надеюсь, это поможет кому-то еще!
Ответ 3
Вы можете использовать Listview, который будет easiler и лучше, чем делать это.