ProgressBar(圆形、水平进度条)的基本使用(点击Button1按钮,显示或消失圆形ProgressBar)(每点击一次Button2按钮,水平进度条增加10%)
ProgressBar用于在界面上显示一个进度条,表示我们的程序正在加载一些数据。它的用法也非常简单。
首先它有两种形式,一种是圆形进度条,另一种是水平进度条。
效果图:
activity_main.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">
<Button
android:id="@+id/btn1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="点我,圆形进度条显现或消失"
android:textAllCaps="false" />
<ProgressBar
android:id="@+id/pb1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/btn2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="点我一次,水平进度条增加10%"
android:textAllCaps="false" />
<ProgressBar
android:id="@+id/pb2"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
MainActivity.java代码:
package com.example.administrator.activitydemo;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ProgressBar;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button btn1, btn2;
private ProgressBar pb1, pb2;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();//初始化UI控件
}
private void initView() {
btn1 = (Button) findViewById(R.id.btn1);
btn2 = (Button) findViewById(R.id.btn2);
pb1 = (ProgressBar) findViewById(R.id.pb1);
pb2 = (ProgressBar) findViewById(R.id.pb2);
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn1:
function1();//显示圆形进度条,或者消失圆形进度条
break;
case R.id.btn2://每点击一次btn2,水平进度条就增加10%
function2();
break;
default:
break;
}
}
private void function1() {
if (pb1.getVisibility() == View.GONE) {
pb1.setVisibility(View.VISIBLE);
btn1.setText("消失");
} else {
pb1.setVisibility(View.GONE);
btn1.setText("显现");
}
}
private void function2() {
int progress = pb2.getProgress();
progress += 10;
pb2.setProgress(progress);
}
}
实现效果很简单,点击btn1按钮,显示或者消失圆形进度条,每点击一次btn2按钮,水平进度条进度就增加10%
步骤1:声名控件
步骤2:初始化UI控件
步骤3:设置点击监听
步骤4:准备好两个函数function1()、function2(),分别封装btn1按钮和btn2按钮所需要实现的功能。
步骤5:function1()中通过getVisibility()函数来获得当前ProgressBar的Visibility值,如果值为View.GONE,就将值通过setVisibility()函数设置为View.Visible,否则就设置为View.GONE。
步骤6:function2()中通过getProgress()函数来获得当前ProgressBar的进度值,然后通过累加进度值,将进度值通过setProgress()函数设置到ProgressBar中即可。