一、預覽
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;
}
}
}