• Android移动开发——进度条ProgressBar


    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;
            }
        }
    }
  • 相关阅读:
    LOJ.114.K大异或和(线性基)
    BZOJ.2115.[WC2011]Xor(线性基)
    BZOJ.2460.[BeiJing2011]元素(线性基 贪心)
    Codeforces Round #494 (Div 3) (A~E)
    Codeforces Round #493 (Div 2) (A~E)
    BZOJ.3238.[AHOI2013]差异(后缀自动机 树形DP/后缀数组 单调栈)
    BZOJ.4180.字符串计数(后缀自动机 二分 矩阵快速幂/倍增Floyd)
    BZOJ.1396.识别子串(后缀自动机/后缀数组 线段树)
    BZOJ.3489.A simple rmq problem(主席树 Heap)
    BZOJ.4566.[HAOI2016]找相同字符(后缀自动机)
  • 原文地址:https://www.cnblogs.com/jannie/p/mzj16.html
Copyright © 2020-2023  润新知