是否可以在TableLayout中添加inderminate进度条?

时间:2011-07-21 17:33:52

标签: android progress-bar tablelayout

我有一个滚动视图,其中包含Tablelayout作为其子视图。现在,当我从服务器接收数据时,我想在屏幕上显示进度条。收到数据后,进度条必须由表格替换。

我能够部分实现这一目标。我将进度条视图添加到第3行(第1行和第2行是标题),一旦收到数据并创建了表格,就会看到可见性。

问题是进度条显示在屏幕顶部。为了与应用程序保持一致,进度条必须位于屏幕中间,就像我在ListViews上一样。

以下是Progressbar的代码段

`<TableRow
android:layout_width="wrap_content" android:layout_height="wrap_content"     android:gravity="center_horizontal">
<ProgressBar
android:id="@+id/list_progressbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>   
</TableRow>

1 个答案:

答案 0 :(得分:0)

在里面放一个TableLayout,把我所希望你做的所有TableRows,包括带有ProgressBar的那个,现在而不是替换。

你可以通过其他方式实现它,只需使用包含ProgressBar的TableRow的View.GONE和要显示的TableRow的View.VISIBLE。

例如;

<TableLayout>
 <TableRow android:id="@+id/trheader1" .../>
 <TableRow android:id="@+id/trheader2" .../>
 <!-- keeping the visibility of gone //-->
 <TableRow android:id="@+id/trRow3" android:visibility="gone" .../>
 <!-- tr containing progressBar //-->
 <TableRow android:id="@+id/trprogressBar" .../>
</TableLayout>

收到数据

((TableRow) findViewById(R.id.trRow3)).setVisibilty(View.VISIBLE);
((TableRow) findViewById(R.id.trprogressBar)).setVisibilty(View.GONE);

所以,我希望这对你有用。 谢谢!