Android 实现环形进度条

这篇具有很好参考价值的文章主要介绍了Android 实现环形进度条。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、项目需求

项目中常常需要用到进度条,很简单,这儿做一个简单的总结和实现

二、实现控件

ProgressBar

三、实现代码

1、水平的进度条

xml布局代码:

<ProgressBar
            android:id="@+id/rocketProgressBar"
            style="@style/Widget.AppCompat.ProgressBar.Horizontal"
            android:layout_width="match_parent"
            android:layout_height="8dp"
            android:layout_centerHorizontal="true"
            android:layout_marginHorizontal="60dp"
            android:layout_marginBottom="80dp"
            android:progressDrawable="@drawable/mmmmmm"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            tools:progress="65" />

style属性:确定他是什么类型的进度条

progressDrawable属性:确定进度条的背景,进度条颜色等等

mmmmmm.xml:drawable文件代码

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <solid android:color="#6DC9FF"/>
                <corners android:radius="4dp" />
            </shape>
        </clip>
    </item>

    <item android:id="@android:id/background">
        <shape>
            <corners android:radius="4dp" />
            <solid android:color="#4D6DC9FF" />
        </shape>
    </item>


</layer-list>

里面的属性就是字面意思

控制代码:例如我要在开屏页加一个两秒的进度条,然后跳转下一个界面,可以这样实现:

lateinit var countDownTimer: CountDownTimer

countDownTimer = object : CountDownTimer(2000L, 200) {
            override fun onTick(p0: Long) {
                mBinding.rocketProgressBar.progress = ((2000 - p0) / 20).toInt() + 1
            }

            override fun onFinish() {
                val intent = Intent(this@PhoneActivity, ComputerActivity::class.java)
                startActivity(intent)
                finish()
            }
        }
        countDownTimer.start()

2.环形的进度条

android 圈圈进度,Android开发小功能点,android

xml代码:


            <ProgressBar
                android:id="@+id/circularProgressBar"
                style="?android:attr/progressBarStyleHorizontal"
                android:layout_width="150dp"
                android:layout_height="150dp"
                android:layout_gravity="center"
                android:indeterminate="false"
                android:max="100"
                android:progressDrawable="@drawable/aaa"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent"
                tools:progress="80" />

aaa drawable文件 

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@android:id/progress">
        <shape
            android:shape="ring"
            android:innerRadius="54dp"
            android:thickness="2dp">
            <solid android:color="#55CCFF" />
        </shape>
    </item>
</layer-list>

可以看出来这儿和上面是大不一样的文章来源地址https://www.toymoban.com/news/detail-790685.html

到了这里,关于Android 实现环形进度条的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • android实现简单进度条ProgressBar

    记录一下今天学习的进度条ProgressBar 1、在布局文件中添加ProgressBar 其中 **style=“@android:style/Widget.ProgressBar.Horizontal”**设置进度条样式为水平进度条,否则默认原型旋转的进度条; max 设置进度条长度,这里设置为100。 2、java代码: 声明ProgressBar;int型的mprogress表示进度条进度

    2023年04月08日
    浏览(33)
  • android AccessibilityService无障碍功能开发,实现自动化测试

    android AccessibilityService无障碍功能开发,实现自动化测试,这里使用抖音为例子,仅供技术研究学习使用。 使用方法 安装好APP后,需要打开无障碍功能,打开后,在次打开抖音APP,随便找一个直播间,上下滑动切换直接后,实现模拟点击屏幕,可以自动完成关注。 代码如下

    2024年02月12日
    浏览(53)
  • android开发使用OkHttp自带的WebSocket实现IM功能

    目录 一、背景 二、在项目中添加依赖包 三、框架调用 1、配置OkHttpClient  2、调用Url,构建WebSocket请求 3、建立连接 4、使用WebSocket对象发送消息     android app开发经常会有IM需求,很多新手不晓得如何入手,难点在于通讯不中断。其实android发展到今天,很多技术都很完善,有

    2024年02月08日
    浏览(39)
  • 实现环形进度条效果【一】

    好基友扔过来一张效果图,简单分析下,一起看看如何实现它吧。 一个半环形用于表示 0 - 100%。 半环形开头有一个圆点作为修饰。 半环形两端需要呈现为圆角。 先画一个长方形。 接下来把长方形转换为半环形。 给环形开头添加圆点修饰,实际等于添加到长方形的左上角。

    2024年02月05日
    浏览(37)
  • Android 使用Retrofit+协程实现超简单大文件下载并回显进度条

    安卓自带的进度条弹窗过时了,这里简单创建一个进度条弹窗 在 drawable 文件夹创建 progress_dialog_bg_style.xml 一个圆角白色背景样式 创建 alert_dialog_download_progress.xml 布局 创建弹窗工具类,使用刚才创建好的布局 简单封装一个下载工具类 先定义一个下载参数实体 DownloadDTO 编写下

    2024年02月12日
    浏览(54)
  • Android 小组件功能开发

    Android小组件(App Widgets)是从Android 1.5(API级别 3)开始引入的特性。它们是一种用于在Android设备的桌面上显示简单信息和提供有限交互的功能组件。 小组件允许开发者将应用的部分内容或功能以简洁的形式展示在设备的桌面上,而无需用户打开整个应用。用户可以通过长按

    2024年03月26日
    浏览(39)
  • 【Android 应用开发】Android 无障碍开发简介 ( Android 无障碍开发辅助技术 | 启用 TalkBack 无障碍功能 | TalkBack 无障碍开发 示例 )

    官方文档 : Android 无障碍功能概览 Android 无障碍开发 的作用是 为 残障人士 提供 更好的移动设备使用体验 ; 借助 无障碍开发 可以 降低 访问设备应用程序 的难度 ; Android 为 无障碍开发 提供了 多种辅助技术 , 如 : TalkBack : 该技术 帮助 盲人 和 视力障碍者 更容易地使用 Andro

    2024年02月14日
    浏览(40)
  • Android网络功能开发(6)——TCP协议通信

    TCP通信的双方需要建立连接,所以先由一方监听某个端口,等待其他设备来连接,这一方称为服务器端。另一方向服务器端发起连接请求,称为客户端。服务器端接受客户端的连接请求后,双方之间的连接建立起来。连接建立后,双方对于连接的使用是相同的,都可以通过连

    2024年02月09日
    浏览(54)
  • Android多媒体功能开发(2)——FileProvider

    使用系统多媒体界面需要在我们的应用和其他应用之间通过Intent传递音频、图片、视频文件的信息。随着Android版本的升级,对应用数据安全性方面的限制越来越多。 Android 6以后不允许应用在外部存储随便创建目录,只能在Android规定的应用自己的文件目录下创建目录,该目录

    2024年02月14日
    浏览(44)
  • [Android]ProgressBar进度条

    ProgressBar ProgressBar是进度条控件,ProgressBar的应用场景很多,比如用户登录时,后台发送请求,以及进行等待服务器返回信息等一些比较耗时的操作。这个时候如果没有提示,用户可能会以为程序崩溃了或手机死机了,会大大降低用户体验,所有在需要进行耗时操作的地方,添

    2024年02月15日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包