Добавление полосы прокрутки к динамическому табличному представлению в относительной компоновке
Я создал динамический макет таблицы динамически в Relative-Layout. Я добавляю текстовые представления динамически. У меня есть 9 полей для отображения. Как я могу поставить горизонтальную и вертикальную полосу прокрутки в нем?
Код:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view);
// Show the Up button in the action bar.
setupActionBar();
TableLayout tableLayout = new TableLayout(getApplicationContext());
TableRow tableRow;
TextView textView;
............................
............................
............................
for (int i = 0; i < rows; i++)
{ //4 rows
tableRow = new TableRow(getApplicationContext());
for (int j = 0; j < columns; j++)
{ //3 columns
textView = new TextView(getApplicationContext());
textView.setText(temp[k++]);
textView.setPadding(15, 15, 15, 15);
tableRow.addView(textView);
}
tableLayout.addView(tableRow);
}
setContentView(scrollView);
setContentView(tableLayout);
2 ответа
Создайте свой файл layout.xml следующим образом
<RelativeLayout xmlns:ads="http://schemas.android.com/apk/res/com.smartcloud.podcast_he"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/bg_iphone" >
<ScrollView
android:id="@+id/ScrollView03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/headingtitle2" >
</ScrollView>
</RelativeLayout>
А потом в коде
setContentView(R.layout.activity_view);
// Show the Up button in the action bar.
setupActionBar();
ScrollView scrollview = (ScrollView) findViewById(R.id.ScrollView03);
TableLayout tableLayout = new TableLayout(getApplicationContext());
TableRow tableRow;
TextView textView;
............................
............................
............................
for (int i = 0; i < rows; i++)
{ //4 rows
tableRow = new TableRow(getApplicationContext());
for (int j = 0; j < columns; j++)
{ //3 columns
textView = new TextView(getApplicationContext());
textView.setText(temp[k++]);
textView.setPadding(15, 15, 15, 15);
tableRow.addView(textView);
}
tableLayout.addView(tableRow);
}
scrollview.addView(tableLayout );
Удалить это 2 строки
setContentView(scrollView);
setContentView(tableLayout);
Сделайте ваш макет верхнего уровня ScrollView
scrollView.addView(tableLayout);
setContentView(scrollView);