Android 第二十三章 ProgressBar

文章介绍了Android中的ProgressBar类,它是View的子类,用于显示进度。详细列出了ProgressBar的XML属性,如动画分辨率、不确定模式和进度值等,并提供了简单的Java代码示例,展示如何初始化和更新进度条的进度值。
摘要由CSDN通过智能技术生成

一、继承

java.lang.Object
↳ android.view.View
↳ android.widget.ProgressBar

二、XML属性

  1. android:animationResolution=“100” 动画帧之间的超时(以毫秒为单位)
  2. android:indeterminate=“true” 是否启动不确定模式
  3. android:indeterminateBehavior=“cycle” 设置当进度达到最大值时,不确定模式的行为方式
  4. android:indeterminateDrawable=“@color/teal_200” 设置不确定模式的可绘制对象
  5. android:indeterminateDuration=“100” 不确定动画的持续时间
  6. android:indeterminateOnly=“true” 限制为仅不确定模式
  7. android:indeterminateTint=“@color/black” 色调应用于不确定进度指示器
  8. android:indeterminateTintMode=“add” 用于应用不确定进度指示器色调的混合模式
  9. android:interpolator=“xx” 设置不确定动画的加速度曲线。默认为线性
  10. android:max=“100” 设置最大值
  11. android:maxHeight=“” 为该视图提供最大高度的可选参数
  12. android:maxWidth=“” 为该视图提供最大宽度的可选参数
  13. android:min=“” 设置最小值
  14. android:minHeight=“” 为该视图提供最小高度的可选参数
  15. android:minWidth=“” 为该视图提供最小宽度的可选参数
  16. android:mirrorForRtl=“true” 设置RTL模式下是否需要镜像关联的绘图。默认值为false
  17. android:progress=“30” 定义默认进度值,介于 0 和 max 之间
  18. android:progressBackgroundTint=“@color/teal_700” 设置进度指示器背景的色调
  19. android:progressBackgroundTintMode=“add” 设置进度指示器背景色调的混合模式
  20. android:progressDrawable=“” 绘制进度模式
  21. android:progressTint=“” 设置进度指示器色调
  22. android:progressTintMode=“add” 设置进度指示器色调的混合模式
  23. android:secondaryProgress=""定义第二进度值,介于0和最大值之间。此进度在主要进展和背景。它非常适合媒体场景,例如显示缓冲进度,而默认进度显示播放进度
  24. android:secondaryProgressTint=“” 色调以应用于辅助进度指示器
  25. android:secondaryProgressTintMode=“add” 设置辅助进度指示器色调的混合模式

三、简单使用

public class MainActivity extends AppCompatActivity {

    private ProgressBar mProgressBar;
    private Button btn_reduce, btn_add;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        initClick();
    }

    private void initView() {
        mProgressBar = findViewById(R.id.progressBar);
        btn_reduce = findViewById(R.id.btn_reduce);
        btn_add = findViewById(R.id.btn_add);
    }

    private void initClick() {
        btn_reduce.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int progress = mProgressBar.getProgress();
                if (progress > 0) {
                    progress -= 10;
                    mProgressBar.setProgress(progress);
                }
            }
        });

        btn_add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int progress = mProgressBar.getProgress();
                if (progress < 110) {
                    progress += 10;
                    mProgressBar.setProgress(progress);
                }
            }
        });
    }
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:gravity="center"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <ProgressBar
        android:id="@+id/progressBar"
        style="@android:style/Widget.ProgressBar.Horizontal"
        android:layout_width="500dp"
        android:layout_height="30dp"
        android:max="100"
        android:progress="30" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="80dp"
        android:layout_marginTop="60dp"
        android:gravity="center"
        android:orientation="horizontal">

        <Button
            android:id="@+id/btn_reduce"
            android:layout_width="80dp"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="-"
            android:textSize="45sp" />

        <Button
            android:id="@+id/btn_add"
            android:layout_width="80dp"
            android:layout_height="match_parent"
            android:layout_marginLeft="60dp"
            android:gravity="center"
            android:text="+"
            android:textSize="40sp" />
    </LinearLayout>
</LinearLayout>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值