我有一个GridView,第一次显示15个视图的网格。然后,单击一个按钮,我再添加5个网格视图。所以,我的问题是:当这5个视图加载时,如何在页面底部添加ProgressBar?像一个微调器加载,5个视图得到更新。
嗨我有一个标签主机tabwidget for tabs和gridview里面的framlayout ..如果我想要进度条那么我应该在帧布局之后还是内框架laoyout中包含这个linearlayout?
答案 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
。
编辑:添加其他信息。
一些事情。
AsycnTask
,而不是使用传统的() Method
。在该答案中,您将找到适合您确切需求的完整解决方案。嗯,几乎完全无论如何。您可能需要做一些修改并自己适应一些事情。但总的来说,它会回答你所有的问题。我在我的应用中使用它,它们按照您的说法运行,底部是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
,只要您想要显示/隐藏它,就可以将其展示设置为VISIBLE
或GONE
。
答案 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/
或者可以使用线程代替异步任务。