Я добавляю список табличных макетов в LinearLayout динамически. Для этого я использовал ScrollView, чтобы увидеть список таблиц, добавленных в линейный макет.Вид сверху исчез в ScrollView
ниже - мой xml-код.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="30dp"
android:paddingRight="30dp"
android:background="@color/white"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RET MASTER SITE REPORTS"
android:paddingBottom="5dp"
android:textColor="@android:color/black"
android:textStyle="bold" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:orientation="vertical"></LinearLayout>
</ScrollView>
Исходный код:
layout = (LinearLayout) findViewById(R.id.linearLayout);
for (int i = 0; i < 5; i++) {
if (isColorChange) {
displayDeviceDetails(getColor(R.color.blue), getColor(R.color.lightBlue));
} else {
displayDeviceDetails(getColor(R.color.orange), getColor(R.color.lightOrange));
}
}
//Method which i am calling from loop
private void displayDeviceDetails(int titleColor, int cellColor) {
TableRow row = null;
TableLayout tableLayout = new TableLayout(this);
tableLayout.setPadding(0, 30, 0, 0);
for (int i = 0; i < arr.length; i++) {
row = (TableRow) inflater.inflate(R.layout.child_views, null);
row.setBackgroundColor(titleColor);
TextView tvTitle = (TextView) row.findViewById(R.id.tvRowTitle);
TextView tvText = (TextView) row.findViewById(R.id.tvRowText);
if (i == 0) {
tvText.setVisibility(View.GONE);
tvTitle.setGravity(Gravity.CENTER);
tvTitle.setTextColor(Color.WHITE);
tvTitle.setText(arr[i]);
} else {
changeBgColor(cellColor);
setBgColor(tvTitle);
setBgColor(tvText);
tvTitle.setGravity(Gravity.RIGHT);
tvTitle.setText(arr[i]);
tvText.setText(arr1[i]);
row.setBackgroundColor(titleColor);
}
tableLayout.addView(row);
}
layout.addView(tableLayout);
}
В приведенном выше коде, Eсть TextView в верхней части экрана, которая используется для отображения какой-либо текст. Я добавил 3 таблицы к линейной компоновке, показывая 1-ю таблицу из середины, а затем следующие 2 таблицы с небольшим пробелом/пустой экран внизу. Если я увеличиваю количество таблиц, то пустое пространство в нижнем экране увеличивается.
Пример: в ScrollView есть 5 таблиц, но он будет отображаться из второй таблицы, которая может быть от начала таблицы или может быть от середины таблицы, за ней следуют 3-й, 4-й n-ый таблицы с пустым пространством внизу ScrollView.
Я могу видеть текст, но я добавил 5 таблиц в линейный макет внутри ScrollView, когда я его выполнил, он отобразится из второй таблицы, которая может быть от начала таблицы или может быть от середины, а затем третьей, 4-й n-й столы с пустым пространством. У меня есть привязка к моим снимкам экрана.
Пожалуйста, помогите мне.
может возникнуть проблема, когда вы вставляете эту таблицу –
Я добавил свой исходный код. Проверьте это. Проблема заключается только в просмотре прокрутки. –