【Android】实现Material Design风格的progressbar

news/2024/11/23 20:59:20/

在 Android 中,Material Design 风格的 ProgressBar 可以使用系统提供的 ProgressBar 和第三方库来实现。

系统提供的 ProgressBar:

  1. 普通线性 ProgressBar

可以使用 Android 系统自带的 ProgressBar ,并设置样式 style 为 “?android:attr/progressBarStyleHorizontal”。

<ProgressBarstyle="?android:attr/progressBarStyleHorizontal"android:layout_width="match_parent"android:layout_height="wrap_content"android:indeterminate="false"android:max="100"android:progress="40"android:secondaryProgress="70" />
  1. 不确定进度条

如果你需要一个不确定的进度条,那么可以设置 indeterminate 属性为 true,这将从左到右循环显示进度条。

<ProgressBarstyle="?android:attr/progressBarStyleHorizontal"android:layout_width="match_parent"android:layout_height="wrap_content"android:indeterminate="true" />
  1. 圆形 ProgressBar

使用 Android 自带的止步方法是改变 ProgressBar 样式为“@android:drawable/xxx”,xxx可以根据自己的需求设置,常用的有 spinner、small、large 等。如下所示:

<ProgressBarandroid:id="@+id/progressBar"style="@android:style/Widget.ProgressBar.Large.Inverse"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_margin="16dp"/>

第三方库:

  1. MaterialProgressBar

MaterialProgressBar 是一个提供了多种 Material Design 风格进度条的第三方库。在 Gradle 中添加 MaterialProgressBar 的依赖:

dependencies {implementation 'me.zhanghai.android.materialprogressbar:library:1.6.1'
}

示例代码:

<me.zhanghai.android.materialprogressbar.MaterialProgressBarandroid:layout_width="wrap_content"android:layout_height="wrap_content" />

这将生成一个圆形的条纹状进度条。

  1. CircularProgressView

CircularProgressView 是另一个第三方库,提供圆形进度条。在 Gradle 中添加 CircularProgressView 的依赖:

dependencies {implementation 'com.github.castorflex.circularprogressbar:circularprogressbar:2.4.1'
}

示例代码:

<com.github.castorflex.circularprogressbar.CircularProgressBarandroid:layout_width="wrap_content"android:layout_height="wrap_content"app:cpbStyle="normal"app:cpbColors="@array/material_colors"app:cpbStrokeWidth="3dp"app:cpbIndeterminate="true" />

此代码将创建一个圆形而不是条形 ProgressBar。

通过使用这些实现,你可以创建出各种不同样式、颜色和大小的 Material Design 风格的 ProgressBar。


http://www.ppmy.cn/news/235631.html

相关文章

WhatWeb使用教程,图文教程(超详细)

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 WhatWeb 一、扫描网站指纹二、扫描强度三、扫描内网…

20230605----重返学习-路由懒加载后让受控组件得到props-react路由6-知乎日报

day-085-eighty-five-20230605-路由懒加载后让受控组件得到props-react路由6-知乎日报 路由懒加载后让受控组件得到props react路由6 react路由6中的路由跳转及传参方案 react路由6中的路由跳转及传参方案: 路由跳转方案&#xff1a; 基于NavLink组件与Link组件进行跳转。基…

蓝牙5.2发布对TWS耳机有什么影响?耳机工厂告诉你!

2019年12月31日&#xff0c;蓝牙技术联盟(SIG)正式批准通过了新版本蓝牙核心规范(Bluetooth Core Specification)v5.2版本&#xff0c;并将于2020年1月15日正式生效。那么对于蓝牙耳机而言&#xff0c;升级后的蓝牙5.2相较于5.0又有什么样的一个提升呢&#xff1f;创基今天就带…

有哪些音质好的蓝牙耳机推荐?适合圣诞送礼的蓝牙耳机合集

随着圣诞节和新年的临近&#xff0c;送什么礼物给对方似乎成为了年轻人比较头疼的事。其实礼物重在心意&#xff0c;不在价钱。如果送的礼物正好是刚需&#xff0c;那么皆大欢喜。蓝牙耳机可以说是年轻一族都非常喜欢用的电子产品&#xff0c;尤其在宿舍环境内使用&#xff0c;…

「C/C++」C/C++ Lamada表达式

✨博客主页&#xff1a;何曾参静谧的博客 &#x1f4cc;文章专栏&#xff1a;「C/C」C/C程序设计 相关术语 Lambda表达式&#xff1a;是C11引入的一种函数对象&#xff0c;可以方便地创建匿名函数。与传统的函数不同&#xff0c;Lambda表达式可以在定义时直接嵌入代码&#xff…

高品质蓝牙耳机排行榜,值得入手的四款蓝牙耳机分享

2023年即将到来&#xff0c;还有哪些蓝牙耳机值得大家购买呢&#xff1f;蓝牙耳机在我们日常生活中发挥着很大作用。无论是听歌还是通话&#xff0c;又或者是运动健身、玩游戏等&#xff0c;都常见大家使用。同样也伴随着蓝牙耳机市场的壮大&#xff0c;五花八门的耳机层出不穷…

高质量蓝牙耳机推荐,2023年热销火爆的蓝牙耳机推荐

目前市面上的无线蓝牙耳机品类众多&#xff0c;面对琳琅满目的无线蓝牙耳机&#xff0c;很多人一时之间无从下手&#xff0c;不知道质量好又耐用的蓝牙耳机有哪些&#xff0c;就怕选购到不好的蓝牙耳机&#xff0c;因此小编根据2023年热销火爆的蓝牙耳机热卖榜&#xff0c;给大…

防水运动蓝牙耳机,分体式蓝牙耳机品牌推荐

蓝牙耳机的出现让我们避免了有线耳机线材缠绕的烦恼&#xff0c;凭借超高的便携性成为当下最热门的数码单品。因工作关系&#xff0c;我每天都会接触到各类数码产品&#xff0c;其中就包含蓝牙耳机&#xff0c;看很多网友发帖表示不知道蓝牙耳机哪个品牌好&#xff0c;这里我打…