一、预览
ProgressBar的使用很简单,先看一下效果图
二、layout布局
就放了两个progressBar和两个Button
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:layout_marginTop="50dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="圆形加载样式progressBar"/>
默认的样式是圆形加载样式
<ProgressBar
android:id="@+id/progressBar1"
android:layout_width="match_parent"
android:visibility="gone" 先让它隐藏,代码控制显示
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="显示"/>
<TextView
android:layout_marginTop="50dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="进度条样式progressBar"/>
<ProgressBar
android:id="@+id/progressBar2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone" 先让它隐藏,代码控制显示
style="?android:attr/progressBarStyleHorizontal" 设置为水平进度条样式
android:max="100" 设置进度条的最大值为100
/>
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="显示"/>
</LinearLayout>
三、代码控制progressBar的显示和隐藏
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private Button btn1,btn2;
private ProgressBar progressBar1,progressBar2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1 = findViewById(R.id.btn1);
btn2 = findViewById(R.id.btn2);
progressBar1 = findViewById(R.id.progressBar1);
btn1.setOnClickListener(this);
progressBar2 = findViewById(R.id.progressBar2);
btn2.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()){
//显示圆形加载样式progressBar
case R.id.btn1:
//判断ProgressBar当前是否可见,并且设置其是否可见
//View.VISIBLE是显示,View.INVISIBLE是隐藏但占位置,View.GONE是消失不占位置
if (progressBar1.getVisibility()==View.GONE){
progressBar1.setVisibility(View.VISIBLE);
}else {
progressBar1.setVisibility(View.GONE);
}
break;
//显示进度条样式progressBar
case R.id.btn2:
progressBar2.setVisibility(View.VISIBLE);
int progress = progressBar2.getProgress();//获取当前进度
progress += 10;
progressBar2.setProgress(progress); //重新设置进度
if(progress > 100){
progressBar2.setVisibility(View.GONE);
}
break;
default:
break;
}
}
}