【问题标题】:Is it possible to add an inderminate progressbar within a TableLayout?是否可以在 TableLayout 中添加不确定的进度条?
【发布时间】:2014-03-31 20:16:32
【问题描述】:

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

我能够部分实现这一点。我在第 3 行(第 1 行和第 2 行是标题)中添加了一个进度条视图,一旦收到数据并创建了表行,它的可见性就消失了。

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

这是进度条的代码 sn-p

`<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>

【问题讨论】:

  • 我认为这是因为您将它放在滚动视图中。垂直居中可能不起作用,因为高度不固定?你为什么不改用进度对话框?
  • 应用程序的其余部分有一个不确定的进度条,为了保持应用程序的感觉一致,我试图将其保持在屏幕的中心。感谢您的意见。

标签: android progress-bar tablelayout


【解决方案1】:

在里面有一个 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);

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-14
    • 1970-01-01
    • 2017-10-14
    • 2014-05-10
    • 2014-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多