常用属性基本框架按钮控制条形进度条
常用属性android:max 进度条的最大值
android:progress 进度条已完成进度值
android:indeterminate 如果设置为true,则进度条不精确显示进度
水平进度条
运行之后就可以得到一个“加载中”的圆圈进度条:
添加一个按钮与其点击事件,给进度条取个id,方便在java代码中获取。
在java代码中获取进度条的id,并编写点击事件:
package com.example.myprogressbar;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ProgressBar;
public class MainActivity extends AppCompatActivity {
private ProgressBar mypb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mypb=findViewById(R.id.pb);
}
public void myClick(View view) {
if(mypb.getVisibility()==View.GONE){
mypb.setVisibility(View.VISIBLE);
}
else{
mypb.setVisibility(View.GONE);
}
}
}
代码的意思是,如果进度条不可见,则令其可见;否则令其不可见。可在虚拟机上看到效果如下:
通过点击按钮,就可以控制进度条是否显示。
这样的设计在加载网页的时候也是类似的,不过判断条件就变成了数据是否加载完成。
条形进度条想要一个条形的进度条,我们可以用安卓预设的style。
设置该进度条的最大值为100,其进度可以在android:progress中查看。在这里,我们用按钮点击来模拟加载数据,控制进度条的值。
public void load(View view) {
int progress=mypb2.getProgress();
progress+=10;
mypb2.setProgress(progress);
}
每次点击增加
1
10
frac{1}{10}
101的进度,效果如下:
如果将android:indeterminate设置为true,则不显示进度,进度条就变成加载动画的效果。



