Я создал приложение, которое динамически добавляет TextViews и ImageViews в TableLayout. Я столкнулся с одной небольшой проблемой: я не могу заставить ImageView отображаться вместе с полями TextView. В моем фрагменте я получаю результаты с сервера и отображаю их в макете.
Я пробовал несколько способов, таких как установка гравитации TextView в центр по вертикали, как это
Я пытался ограничить ширину текстовых полей, но это не сработает.
firstRow.setGravity(Gravity.CENTER_VERTICAL);
Вот как заполняются мои строки:
businessNameRow.addView(businessNameField);
Я добавляю наборы динамически, каждый набор состоит из 7 строк TextView и 1 ImageView в каждой строке следующим образом:
TableRow firstRow = new TableRow(getActivity().getApplicationContext());
TableRow secondRow = new TableRow(getActivity().getApplicationContext());
TableRow thirdRow = new TableRow(getActivity().getApplicationContext());
TableRow fourthRow = new TableRow(getActivity().getApplicationContext());
TableRow fifthRow = new TableRow(getActivity().getApplicationContext());
TableRow sixthRow = new TableRow(getActivity().getApplicationContext());
TableRow imageRow = new TableRow(getActivity().getApplicationContext());
TableRow seventhRow = new TableRow(getActivity().getApplicationContext());
Затем я просто добавляю строку в таблицу
final TableLayout tl = (TableLayout)root.findViewById(R.id.tableResultsGPS);
tl.addView(firstRow); //And so on
Мой TableLayout помещается в ScrollView, поэтому я могу прокручивать список результатов.
Прикрепляю изображение того, чего я хочу добиться и как это выглядит сейчас.