4

我有一个 GridView,它第一次显示了 15 个视图的网格。然后,单击一个按钮,我再添加 5 个网格视图。所以,我的问题是:当这 5 个视图正在加载时,如何在页面底部添加一个 ProgressBar?就像一个微调加载和 5 个视图得到更新。

嗨,我有一个选项卡主机 tabwidget,用于在框架布局内的选项卡和网格视图。现在如果我想要进度条,那么我是否需要在框架布局之后或内部框架 laoyout 中包含这个线性布局?

4

4 回答 4

1

GridView在 XML 中将其添加到您的下方。

<LinearLayout
    android:id="@+id/linlaProgressBar"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:orientation="horizontal" >

    <ProgressBar
        style="@style/Spinner"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="2dp" />
</LinearLayout>

在你Activity加载数据的地方(假设它是一个AsyncTask),在你的onPreExecute()展示中:

@Override
protected void onPreExecute() {
    // SHOW THE BOTTOM PROGRESS BAR (SPINNER) WHILE LOADING MORE PHOTOS
    linlaProgressBar.setVisibility(View.VISIBLE);
}

在 中onPostExecute(),隐藏它:

@Override
protected void onPostExecute() {
    // SHOW THE BOTTOM PROGRESS BAR (SPINNER) WHILE LOADING MORE PHOTOS
    linlaProgressBar.setVisibility(View.GONE);
}

如果您不使用,则在开始下载数据的方法开始时AsyncTask将可见性设置为,并将其设置为在设置.View.VISIBLEView.GONEAdapter

编辑:添加附加信息。

几件事。

  1. 您正在从 Internet 下载数据,我建议您切换到AsycnTask而不是使用传统的() Method.
  2. 几天前在这里查看我对类似问题的回答:https ://stackoverflow.com/a/13265776/450534

在该答案中,您将找到适合您确切需求的完整解决方案。好吧,几乎完全无论如何。您可能需要自己进行一些修改并适应一些事情。但总的来说,它会回答你所有的问题。我在我的应用程序中使用它,它们的功能就像你说的那样,底部的 Google Play加载文本。它真的是完整的。:-)

于 2012-11-28T10:01:54.330 回答
0

在 GridView 的 xml 中添加一个并设置其属性 "alignParentRight = true" 和 "visibility = invisible" 。在您的活动中,使用 Async 任务类并在其 preExectue 方法集上将其可见性设置为可见

pb.setVisibility(View.VISIBLE);

在 doInBackground 方法中加载您的图像,最后在 onPostExecute 方法中使此进度条不可见。

pb.setVisibility(View.INVISIBLE);

单击加载按钮执行此异步任务类。

这是理解 asyncTask 的简单教程

http://androidresearch.wordpress.com/2012/03/17/understanding-asynctask-once-and-forever/

或者可以使用线程代替异步任务。

于 2012-11-28T10:28:54.730 回答
0

您需要为此创建自定义视图并将其充气并添加为gridview中的底部视图

<RelativeLayout
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
>

<Button android:text="Load"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_centerInParent="true"
/>          

<ProgressBar 
       android:layout_width="25.0dip"
       android:layout_height="25.0dip"
       android:layout_centerInParent="true"
       android:visibility="gone"
/>

</RelativeLayout>

现在膨胀这个视图并在gridview的底部显示进度条当您单击可见的进度条时,您可以将按钮设置为底部

于 2012-11-28T09:57:02.530 回答
0

只需ProgressBar在您的布局中添加一个,将其可见性设置为VISIBLEGONE在您想要显示/隐藏它时设置。

于 2012-11-28T09:58:39.670 回答