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中即可。

 

 

猜你喜欢

转载自blog.csdn.net/android_studying/article/details/85773345