我正在创建一个带有无限滚动效果的简单列表视图。 当我下载新数据时,我想在listview底部显示一个不确定的进度条(如gmail app)。
有2个解决方案
它会给出类似的东西
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ListView
android:id="@+id/List_list"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<ProgressBar
android:id="@+id/trobber"
android:layout_below="@+id/List_list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:indeterminate="true" >
</ProgressBar>
</RelativeLayout>
但是当我的列表长度超过我的屏幕大小时(换句话说,当我需要scoll)时,不会显示进度条。
答案 0 :(得分:7)
使用yourListView。addFooterView(把你的ProgressBar视图)
答案 1 :(得分:3)
详细说明,请按照以下方式进行:
一个。创建布局xml文件,将其命名为progress_bar_footer.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ProgressBar
android:layout_width="30dip"
android:layout_height="30dip"
android:layout_gravity="center"
android:indeterminateTint="@android:color/holo_green_light"
android:id="@+id/progressBar5"/>
</LinearLayout>
B中。在您的活动中,
View mProgressBarFooter = ((LayoutInflater)this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE))
.inflate(R.layout.progress_bar_footer, null, false);
℃。用它。
listView.addFooterView(mProgressBarFooter); //or
listView.removeFooterView(mProgressBarFooter);
归功于此John Moses' page。