一、ProgressBar常用属性详解

  1. 1.android:max:进度条的最大值<br /> 2.android:progress:进度条已完成进度值(在java中设置)<br /> 3.android:indeterminate:如果设置成true,则进度条不精确显示进度<br /> 4.style="?android:attr/progressBarStyleHorizontal"水平进度条

二、显示隐藏进度条设置

  1. 1.布局activity_main.xml代码
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:app="http://schemas.android.com/apk/res-auto"
  4. xmlns:tools="http://schemas.android.com/tools"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. android:orientation="vertical"
  8. >
  9. <ProgressBar
  10. android:id="@+id/pb_one"
  11. android:layout_width="wrap_content"
  12. android:layout_height="wrap_content"
  13. />
  14. <Button
  15. android:layout_width="wrap_content"
  16. android:layout_height="wrap_content"
  17. android:onClick="btn_one"
  18. android:text="显示隐藏进度条"
  19. />
  20. </LinearLayout>
  1. 2.MainActivity文件代码
  1. package com.example.test;
  2. import androidx.appcompat.app.AppCompatActivity;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import android.widget.ProgressBar;
  6. public class MainActivity extends AppCompatActivity {
  7. private ProgressBar pb_one;
  8. @Override
  9. protected void onCreate(Bundle savedInstanceState) {
  10. super.onCreate(savedInstanceState);
  11. setContentView(R.layout.activity_main);
  12. pb_one = findViewById(R.id.pb_one);
  13. }
  14. public void btn_one(View view) {
  15. if (pb_one.getVisibility()==View.GONE){
  16. pb_one.setVisibility(View.VISIBLE);
  17. }else{
  18. pb_one.setVisibility(View.GONE);
  19. }
  20. }
  21. }
  1. 3.效果图:<br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/1574587/1621925681634-5988d1ac-659b-417a-8ca3-7ed868c1d1d7.png#clientId=u2192a832-ffde-4&from=paste&height=91&id=u5d422e4d&margin=%5Bobject%20Object%5D&name=image.png&originHeight=91&originWidth=154&originalType=binary&size=5387&status=done&style=none&taskId=ud312cd07-30e3-48d1-9b9e-40ab7c6a233&width=154)![image.png](https://cdn.nlark.com/yuque/0/2021/png/1574587/1621925692995-877a8039-9ad2-4df8-87af-5103d1ec541f.png#clientId=u2192a832-ffde-4&from=paste&height=105&id=uf805b7ae&margin=%5Bobject%20Object%5D&name=image.png&originHeight=105&originWidth=156&originalType=binary&size=5378&status=done&style=none&taskId=ue9007279-0fb6-4d74-a093-39420f6ed17&width=156)

三、模拟下载的实现

  1. 1.布局activity_main.xml代码
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:app="http://schemas.android.com/apk/res-auto"
  4. xmlns:tools="http://schemas.android.com/tools"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. android:orientation="vertical"
  8. >
  9. <ProgressBar
  10. android:id="@+id/pb_two"
  11. android:layout_width="350dp"
  12. android:layout_height="wrap_content"
  13. android:max="100"
  14. style="?android:attr/progressBarStyleHorizontal"
  15. />
  16. <Button
  17. android:layout_width="wrap_content"
  18. android:layout_height="wrap_content"
  19. android:onClick="btn_two"
  20. android:text="已完成的进度值"
  21. />
  22. </LinearLayout>
  1. 2.MainActivity文件代码
  1. package com.example.test;
  2. import androidx.appcompat.app.AppCompatActivity;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import android.widget.ProgressBar;
  6. public class MainActivity extends AppCompatActivity {
  7. private ProgressBar pb_two;
  8. @Override
  9. protected void onCreate(Bundle savedInstanceState) {
  10. super.onCreate(savedInstanceState);
  11. setContentView(R.layout.activity_main);
  12. pb_two = findViewById(R.id.pb_two);
  13. }
  14. public void btn_two(View view) {
  15. int progress=pb_two.getProgress();
  16. progress=progress+5;
  17. pb_two.setProgress(progress);
  18. }
  19. }
  1. 3.效果图(最大值为100,每点击一下增加5/100的值,加满即为下载成功):<br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/1574587/1621926326151-3b65d700-167f-4148-b14d-6a19b3e96261.png#clientId=u2192a832-ffde-4&from=paste&height=116&id=u801768b1&margin=%5Bobject%20Object%5D&name=image.png&originHeight=116&originWidth=294&originalType=binary&size=7913&status=done&style=none&taskId=u287e9e05-f290-4db5-8730-c2f831e584d&width=294)

四、不显示进度完成值

  1. 1.加该属性,就不显示<br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/1574587/1621926468308-6a0cd9df-7765-4717-9945-164917fa0d18.png#clientId=u2192a832-ffde-4&from=paste&height=20&id=ue462e864&margin=%5Bobject%20Object%5D&name=image.png&originHeight=20&originWidth=224&originalType=binary&size=1395&status=done&style=none&taskId=u8a75d0cd-8f78-403d-abba-2338b899cc3&width=224)<br /> 2.代码如下:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:app="http://schemas.android.com/apk/res-auto"
  4. xmlns:tools="http://schemas.android.com/tools"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. android:orientation="vertical"
  8. >
  9. <ProgressBar
  10. android:layout_width="350dp"
  11. android:layout_height="wrap_content"
  12. android:max="100"
  13. android:indeterminate="true"
  14. style="?android:attr/progressBarStyleHorizontal"
  15. />
  16. </LinearLayout>
  1. 3.效果图:<br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/1574587/1621926605777-1c6fb84c-17c0-421f-85f4-8c378fb6f24e.png#clientId=u2192a832-ffde-4&from=paste&height=236&id=u0c09ee45&margin=%5Bobject%20Object%5D&name=image.png&originHeight=236&originWidth=762&originalType=binary&size=33513&status=done&style=none&taskId=uc9ade444-25d4-48a7-b46f-1979a974e81&width=762)