Gridview底部的ProgressBar

时间:2012-11-28 09:49:38

标签: android gridview progress-bar

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

嗨我有一个标签主机tabwidget for tabs和gridview里面的framlayout ..如果我想要进度条那么我应该在帧布局之后还是内框架laoyout中包含这个linearlayout?

4 个答案:

答案 0 :(得分:1)

在XML中GridView下面添加此内容。

<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.VISIBLE,并在之后或之后将其设置为View.GONE在设置Adapter

之前

编辑:添加其他信息。

一些事情。

  1. 您正在从互联网上下载数据,我建议您切换到AsycnTask,而不是使用传统的() Method
  2. 几天前在类似问题上查看我的答案:https://stackoverflow.com/a/13265776/450534
  3. 在该答案中,您将找到适合您确切需求的完整解决方案。嗯,几乎完全无论如何。您可能需要做一些修改并自己适应一些事情。但总的来说,它会回答你所有的问题。我在我的应用中使用它,它们按照您的说法运行,底部是Google Play 加载文本。它确实是完整的。 : - )

答案 1 :(得分: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底部显示进度条 当您单击只显示进度条

时,可以使用此按钮将按钮设置为底部

答案 2 :(得分:0)

只需在您的布局中添加ProgressBar,只要您想要显示/隐藏它,就可以将其展示设置为VISIBLEGONE

答案 3 :(得分: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/

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