您当前的位置:首页 > 电脑百科 > 程序开发 > 移动端 > Android

rogressBar、SeekBar以及RatingBar的使用

时间:2022-09-06 11:20:39  来源:今日头条  作者:一起学安卓

一、各自的功能及用途

ProgressBar:进度条,主要向用户展示当前任务的完成进度,例如游戏加载、App更新、文件下载等;

SeekBar:进度条的升级款,与ProgressBar不同的是用户可以自行拖动以控制进度;音量大小、音视频的播放进度等都可以用它实现;

RatingBar:星级评分条,这里我只用三个字描述:“打分的”,多用于电商类app以及各大应用商店,比如对某款app、某件商品评分

二、简单使用

1、打开之前的布局文件activity_mAIn.xml,先删掉之前定义的所有控件,然后再添加今天我们讲到的控件,如图1

 

图1

 

2、打开MainActivity.JAVA,因为布局中之前定义的控件已经被删掉,所以代码中也需要清理,不然因为找不到控件id会报错;清掉后定义并绑定今天的控件

public class MainActivity extends AppCompatActivity {

    private ProgressBar pbProgress;
    private SeekBar sbProgress;
    private RatingBar rbEvaluate;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        pbProgress.setProgress(30);

        sbProgress.setMax(100);
        setListener();
    }

    private void setListener() {
        sbProgress.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                Log.e("onProgressChanged======",progress+"");
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {

            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {

            }
        });
        rbEvaluate.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
            @Override
            public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
                Log.e("onRatingChanged======",rating+"");

            }
        });
    }

    private void initView() {
        rbEvaluate=findViewById(R.id.rb_evaluate);
        pbProgress=findViewById(R.id.pb_progress);
        sbProgress=findViewById(R.id.sb_progress);
    }
}

代码中我用setProgress()方法为pbProgress设置了当前进度

三、官网对于上述控件的属性介绍

1、RatingBar

Android:isIndicator

Whether this rating bar is an indicator (and non-changeable by the user).

android:numStars

The number of stars (or rating items) to show.

android:rating

The rating to set by default.

android:stepSize

The step size of the rating.

2、SeekBar

android:thumb

Draws the thumb on a seekbar.

3、ProgressBar

android:animationResolution

Timeout between frames of animation in milliseconds.

android:indeterminate

Allows to enable the indeterminate mode.

android:indeterminateBehavior

Defines how the indeterminate mode should behave when the progress reaches max.

android:indeterminateDrawable

Drawable used for the indeterminate mode.

android:indeterminateDuration

Duration of the indeterminate animation.

android:indeterminateOnly

Restricts to ONLY indeterminate mode (state-keeping progress mode will not work).

android:indeterminateTint

Tint to apply to the indeterminate progress indicator.

android:indeterminateTintMode

Blending mode used to apply the indeterminate progress indicator tint.

android:interpolator

Sets the acceleration curve for the indeterminate animation.

android:max

Defines the maximum value.

android:maxHeight

An optional argument to supply a maximum height for this view.

android:maxWidth

An optional argument to supply a maximum width for this view.

android:min

Defines the minimum value.

android:minHeight

 

android:minWidth

 

android:mirrorForRtl

Defines if the associated drawables need to be mirrored when in RTL mode.

android:progress

Defines the default progress value, between 0 and max.

android:progressBackgroundTint

Tint to apply to the progress indicator background.

android:progressBackgroundTintMode

Blending mode used to apply the progress indicator background tint.

android:progressDrawable

Drawable used for the progress mode.

android:progressTint

Tint to apply to the progress indicator.

android:progressTintMode

Blending mode used to apply the progress indicator tint.

android:secondaryProgress

Defines the secondary progress value, between 0 and max.

android:secondaryProgressTint

Tint to apply to the secondary progress indicator.

android:secondaryProgressTintMode

Blending mode used to apply the secondary progress indicator tint.

四、补充

可以看到在代码中我用到了Log.e(),它是用于向控制台输出日志的,除了使用调试模式以外,合理使用日志输出也可以帮我们快速定位问题,除了e外,级别由低到高还有v, d, i, w;e的级别是最高的

 

图2

五、运行截图

最后附上一张运行效果图

 

 



Tags:rogressBar   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
rogressBar、SeekBar以及RatingBar的使用
一、各自的功能及用途ProgressBar:进度条,主要向用户展示当前任务的完成进度,例如游戏加载、app更新、文件下载等;SeekBar:进度条的升级款,与ProgressBar不同的是用户可以自行拖动...【详细内容】
2022-09-06  Search: rogressBar  点击:(581)  评论:(0)  加入收藏
▌简易百科推荐
Android Emulator黑屏怎么办 Android模拟器黑屏解决方法
Android Emulator黑屏问题困扰了非常多的玩家,Android Emulator作为一款安卓模拟器,可以让你在电脑上运行和浏览安卓应用程序,但是程序本身不是很稳定,很容易会出现黑屏,启动不了...【详细内容】
2024-03-04  18183游戏网    Tags:Android Emulator   点击:(37)  评论:(0)  加入收藏
Android开发中常见的Hook技术有哪些?
Hook技术介绍Hook技术是一种在软件开发中常见的技术,它允许开发者在特定的事件发生时插入自定义的代码逻辑。常见的应用场景包括在函数调用前后执行特定的操作,或者在特定的事...【详细内容】
2023-12-25  沐雨花飞蝶  微信公众号  Tags:Android   点击:(86)  评论:(0)  加入收藏
在Android应用开发中使用NFC功能
NFC介绍NFC是指“近场通讯”(Near Field Communication),它是一种短距离无线通信技术,允许设备在非接触或极短距离内进行通信。NFC通常用于移动支付、门禁系统、智能标签和其他...【详细内容】
2023-12-22  沐雨花飞蝶  微信公众号  Tags:Android   点击:(102)  评论:(0)  加入收藏
关于Android图像Bitmap类,你要知道的一切
Bitmap介绍Bitmap是一种图像文件格式,它由像素阵列组成,每个像素都有自己的颜色信息。在计算机图形学中,Bitmap图像可以被描述为一个二维的矩阵,其中每个元素代表一个像素的颜色...【详细内容】
2023-12-19  沐雨花飞蝶  微信公众号  Tags:Android   点击:(99)  评论:(0)  加入收藏
Android开发中如何进行单元测试?
单元测试介绍单元测试是软件开发中的一种测试方法,用于验证代码中的最小可测试单元(通常是函数或方法)是否按预期工作。单元测试通常由开发人员编写,旨在隔离和测试代码的特定部...【详细内容】
2023-12-11  沐雨花飞蝶  微信公众号  Tags:Android   点击:(168)  评论:(0)  加入收藏
一篇聊聊Jetpack Room实现数据存储持久性
Room介绍Room 是 Android Jetpack 组件库中的一部分,它是用于在 Android 应用中进行本地数据库访问和管理的库。Room 提供了一个抽象层,使开发者能够更轻松地访问 SQLite 数据...【详细内容】
2023-12-08  沐雨花飞蝶  微信公众号  Tags:Jetpack   点击:(143)  评论:(0)  加入收藏
了解Android系统架构中的HAL硬件抽象层
在Android系统中,HAL的存在使得不同厂商的硬件可以统一被上层的应用程序调用,从而提高了系统的兼容性和可移植性。HAL还可以帮助开发者更方便地开发应用程序,因为他们不需要为...【详细内容】
2023-12-06  沐雨花飞蝶  微信公众号  Tags:Android   点击:(203)  评论:(0)  加入收藏
我们一起聊聊 IntentService 与 Service 的区别?
Service介绍Service组件是Android应用开发中的四大组件之一,用于在后台执行长时间运行的操作或处理远程请求。它可以在没有用户界面的情况下执行任务,并且可以与其他应用组件...【详细内容】
2023-12-06  沐雨花飞蝶  微信公众号  Tags:IntentService   点击:(171)  评论:(0)  加入收藏
Android数据对象序列化原理与应用
序列化与反序列化「序列化」是将对象转换为可以存储或传输的格式的过程。在计算机科学中,对象通常是指内存中的数据结构,如数组、列表、字典等。通过序列化,可以将这些对象转换...【详细内容】
2023-11-14  沐雨花飞蝶  微信公众号  Tags:Android   点击:(273)  评论:(0)  加入收藏
你了解Android中的SELinux吗?
SELinux介绍SELinux(Security-Enhanced Linux)是一种安全增强的Linux操作系统,它通过强制访问控制(MAC)机制来提供更高级别的系统安全保护。相比于传统的Linux访问控制机制(DAC),SEL...【详细内容】
2023-11-09  沐雨花飞蝶  微信公众号  Tags:Android   点击:(265)  评论:(0)  加入收藏
相关文章
    无相关信息
站内最新
站内热门
站内头条