一、ProgressBar常用属性详解
1.android:max:进度条的最大值<br /> 2.android:progress:进度条已完成进度值(在java中设置)<br /> 3.android:indeterminate:如果设置成true,则进度条不精确显示进度<br /> 4.style="?android:attr/progressBarStyleHorizontal"水平进度条
二、显示隐藏进度条设置
1.布局activity_main.xml代码
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ProgressBar android:id="@+id/pb_one" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="btn_one" android:text="显示隐藏进度条" /></LinearLayout>
2.MainActivity文件代码
package com.example.test;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.ProgressBar;public class MainActivity extends AppCompatActivity { private ProgressBar pb_one; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); pb_one = findViewById(R.id.pb_one); } public void btn_one(View view) { if (pb_one.getVisibility()==View.GONE){ pb_one.setVisibility(View.VISIBLE); }else{ pb_one.setVisibility(View.GONE); } }}
3.效果图:<br />
三、模拟下载的实现
1.布局activity_main.xml代码
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" > <ProgressBar android:id="@+id/pb_two" android:layout_width="350dp" android:layout_height="wrap_content" android:max="100" style="?android:attr/progressBarStyleHorizontal" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="btn_two" android:text="已完成的进度值" /></LinearLayout>
2.MainActivity文件代码
package com.example.test;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.ProgressBar;public class MainActivity extends AppCompatActivity { private ProgressBar pb_two; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); pb_two = findViewById(R.id.pb_two); } public void btn_two(View view) { int progress=pb_two.getProgress(); progress=progress+5; pb_two.setProgress(progress); }}
3.效果图(最大值为100,每点击一下增加5/100的值,加满即为下载成功):<br />
四、不显示进度完成值
1.加该属性,就不显示<br /><br /> 2.代码如下:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" > <ProgressBar android:layout_width="350dp" android:layout_height="wrap_content" android:max="100" android:indeterminate="true" style="?android:attr/progressBarStyleHorizontal" /></LinearLayout>
3.效果图:<br />