我有一个滚动视图,其中包含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>
答案 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);
所以,我希望这对你有用。 谢谢!