Android Progressbar是否可见,获取以及设置进度
项目源码:
UIWidgetTest
https://github.com/Phil-tom/Android-The-First-Line-of-Code/tree/main/Chapter3/UIWidgetTest
Q:如何才能让进度条在加载完成后消失呢?
Android控件的可见属性,所有的Android空间都有这个属性,可以通过android:visiablity进行指定。有三种值可选。
visiable:表示控件是可见的,默认值。
invisible:表示控件不可见,但它仍然占据着原来的位置和大小。
gone:表示控件不仅不可见,而且不在占用任何屏幕空间。

布局文件main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="button"
android:textAllCaps="false"/>
</LinearLayout>
在java代码中动态改变progressbar的可见性,为了查看值设置为gone时候的效果,把progressbar放在button的上面
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
if (progressBar.getVisibility() == View.GONE) {
progressBar.setVisibility(View.VISIBLE);
} else {
progressBar.setVisibility(View.GONE);
}
break;
default:
break;
}
}


还可以设置进度条的style,最大值(max)等

每点击一次Button,进度条的进度就会增加10
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
//获取ProgressBar的进度
int progress = progressBar.getProgress();
progress += 10;
//设置ProgressBar的进度
progressBar.setProgress(progress);
break;
default:
break;
}
}
点击一次之后

点击两次之后
