查看: 2|回复: 0

Android移动开发——进度条ProgressBar

[复制链接]

1

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2008-10-24
发表于 2020-5-28 17:28:00 | 显示全部楼层 |阅读模式

Android移动开发——进度条ProgressBar

 

——木梓婕

 

1、题目要求:

实现对进度条进度变化的控制

2、效果截图:

3、XML代码:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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"
    tools:context=".MainActivity">

    <ProgressBar
        android:id="@+id/progressBar"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:max="200"
        android:progress="50"
        android:layout_marginTop="32dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="32dp"
        android:text="增加"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/progressBar" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp"
        android:text="减少"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/button1" />
</androidx.constraintlayout.widget.ConstraintLayout>

4、Java代码:

package com.example.myapplication1_5;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;

public class MainActivity extends AppCompatActivity{
    ProgressBar progressBar;
    Button btn1,btn2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        progressBar=findViewById(R.id.progressBar);
        btn1=findViewById(R.id.button1);
        btn2=findViewById(R.id.button2);
        btn1.setOnClickListener(new click1());
        btn2.setOnClickListener(new click2());

    }
    class click1 implements View.OnClickListener
    {
        public void onClick(View v)
        {
            progressBar.incrementProgressBy(5);
        }
    }
    class click2 implements View.OnClickListener
    {
        public void onClick(View v)
        {
            progressBar.incrementProgressBy(-5);
        }
    }
}

5、补充——(使这2个按钮共用一个监听器):

     Java代码:

package com.example.myapplication1_5;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;

public class MainActivity extends AppCompatActivity implements View.OnClickListener{
    ProgressBar progressBar;
    Button btn1,btn2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        progressBar=findViewById(R.id.progressBar);
        btn1=findViewById(R.id.button1);
        btn2=findViewById(R.id.button2);
        //btn1.setOnClickListener(new click1());
        //btn2.setOnClickListener(new click2());
        btn1.setOnClickListener(this);
        btn2.setOnClickListener(this);

    }
    /*class click1 implements View.OnClickListener
    {
        public void onClick(View v)
        {
            progressBar.incrementProgressBy(5);
        }
    }
    class click2 implements View.OnClickListener
    {
        public void onClick(View v)
        {
            progressBar.incrementProgressBy(-5);
        }
    }*/
    public void onClick(View v)
    {
        switch (v.getId())
        {
            case R.id.button1:
                progressBar.incrementProgressBy(5);
                break;
            case R.id.button2:
                progressBar.incrementProgressBy(-5);
                break;
        }
    }
}

 



来源:https://www.cnblogs.com/jannie/p/mzj16.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部