摘自:安卓APP_ 控件(5)—— ProgressBar
作者:丶PURSUING
发布时间: 2021-03-31 13:03:07
网址:https://blog.csdn.net/weixin_44742824/article/details/115313496
控件ProgressBar就是对进度条的设定,有环形有条形等,如下图:
具体的直接看例子,就是方法的使用,没太多好讲的。
MainActivity.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><!-- 圆形进度条--><ProgressBarandroid:id="@+id/pb_cir"android:layout_width="81dp"android:layout_height="75dp" /><!-- myClick具体实现方法在Main.java中--><Buttonandroid:layout_width="159dp"android:layout_height="67dp"android:onClick="myClick"android:text="显示/隐藏进度条" /><!-- 水平进度条android:indeterminate="true" 进度条进度不显示,只显示在加载状态--><ProgressBarandroid:id="@+id/pb_bar"style="?android:attr/progressBarStyleHorizontal"android:layout_width="200dp"android:layout_height="40dp"android:max="100" /><!-- load具体实现方法在Main.java中--><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="load"android:text="模拟下载进度" /></LinearLayout>
MainActivity.java
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 {创建全局的对象pb(在这里可以认为onCreate才是main)private ProgressBar pb_cir; //环形进度条private ProgressBar pb_bar; //条形进度条@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);pb_cir = findViewById(R.id.pb_cir);pb_bar = findViewById(R.id.pb_bar);}//从Main.xml中过来,实现这个方法public void myClick(View view) { //表示当点击事件发生时if (pb_cir.getVisibility() == View.GONE) { //如果进度条是不可见的pb_cir.setVisibility(view.VISIBLE); //则设置为可见的} else {pb_cir.setVisibility(view.GONE); //否则设置为不可见的}}public void load(View view) {int progress = pb_bar.getProgress();//获取进度值progress += 10; //每点击一次按钮,进度+10(最大值为100,在max中设置)pb_bar.setProgress(progress); //设置进度值}
}
其中,在控件Button中设定的onclick方法名为myClick,要在Main.java中实现具体的操作方法,如下图: