iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >【Kotlin】使用 ProgressBar 的样式属性来实现圆形进度条,进度使用gradient渐变效果
  • 912
分享到

【Kotlin】使用 ProgressBar 的样式属性来实现圆形进度条,进度使用gradient渐变效果

kotlinandroid开发语言 2023-10-09 11:10:35 912人浏览 泡泡鱼
摘要

Android ProgressBar 默认提供了水平和圆形两种进度条,水平进度条通过 ProgressBar 控件实现,而圆形进度条通过 ProgressDialog 控件实现。如果想要将 Prog

Android ProgressBar 默认提供了水平和圆形两种进度条,水平进度条通过 ProgressBar 控件实现,而圆形进度条通过 ProgressDialog 控件实现。如果想要将 ProgressBar 控件设置为圆形进度条,可以使用 ProgressBar 的样式属性来实现。

首先,在布局文件中添加一个 ProgressBar 控件,并设置其样式为 @style/Widget.AppCompat.ProgressBar

<ProgressBar    android:id="@+id/progressBar"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    style="@style/Widget.AppCompat.ProgressBar"    android:indeterminate="true" />

在上面的代码中,我们设置了 ProgressBar 的样式为 @style/Widget.AppCompat.ProgressBar,并将 indeterminate 属性设置为 true,表示使用不确定模式。

然后,在 styles.xml 文件中,定义一个名为 Widget.AppCompat.ProgressBar 的样式,将其父样式设置为 Widget.AppCompat.ProgressBar.Horizontal,并将其样式属性 android:indeterminateDrawable 设置为一个圆形进度条的 Drawable:

<style name="Widget.AppCompat.ProgressBar" parent="Widget.AppCompat.ProgressBar.Horizontal">    "android:indeterminateDrawable">@drawable/circular_progress_barstyle>

在上面的代码中,我们定义了一个名为 Widget.AppCompat.ProgressBar 的样式,将其父样式设置为 Widget.AppCompat.ProgressBar.Horizontal,并将其样式属性 android:indeterminateDrawable 设置为一个圆形进度条的 Drawable。

最后,在 drawable 文件夹中创建一个名为 circular_progress_bar.xml 的 Drawable 文件,其中定义一个圆形进度条的形状和颜色:

<rotate xmlns:android="Http://schemas.android.com/apk/res/android"    android:fromDegrees="0"    android:pivotX="50%"    android:pivotY="50%"    android:toDegrees="360" >    <shape        android:innerRadiusRatio="3"        android:shape="ring"        android:thicknessRatio="8"        android:useLevel="true" >        <size            android:width="48dp"            android:height="48dp" />        <gradient            android:centerColor="#ff0000"            android:endColor="#00ff00"            android:startColor="#0000ff"            android:type="sweep"            android:useLevel="false" />    shape>rotate>

在上面的代码中,我们首先使用 标签将圆形进度条旋转了 360 度,然后使用 标签定义了一个圆环形状,并设置了其内外半径比例、厚度比例、大小等属性。最后,使用 标签定义圆环的颜色为一个渐变色。

运行代码后,将会显示一个圆形进度条,其颜色为一个渐变色。可以修改 circular_progress_bar.xml 文件中的颜色和大小等属性来改变进度条的外观。

设置进度

Kotlin 中,可以通过调用 ProgressBar 控件的 setProgress() 方法来设置进度,例如:

val progressBar = findViewById<ProgressBar>(R.id.progressBar)progressBar.progress = 50 // 设置进度为 50

在上面的代码中,我们首先获取了一个名为 progressBarProgressBar 控件的实例,然后调用了其 setProgress() 方法,将进度设置为 50。

为了更好地控制进度条的动画效果,也可以使用 ObjectAnimator 类来实现进度条的动画效果,例如:

val progressBar = findViewById<ProgressBar>(R.id.progressBar)val animator = ObjectAnimator.ofInt(progressBar, "progress", 0, 100)animator.duration = 1000 // 动画持续时间为 1 秒animator.start() // 开始动画

在上面的代码中,我们首先获取了一个名为 progressBarProgressBar 控件的实例,然后创建了一个 ObjectAnimator 对象,将其目标对象设置为 progressBar,属性名设置为 "progress",起始值为 0,结束值为 100。然后,我们设置了动画的持续时间为 1 秒,并调用了 start() 方法来启动动画。

使用 ObjectAnimator 类可以实现更加灵活的动画效果,例如设置插值器、动画监听器等。可以根据具体的需求来使用不同的动画效果。

来源地址:https://blog.csdn.net/gao511147456/article/details/131314066

--结束END--

本文标题: 【Kotlin】使用 ProgressBar 的样式属性来实现圆形进度条,进度使用gradient渐变效果

本文链接: https://www.lsjlt.com/news/426274.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【Kotlin】使用 ProgressBar 的样式属性来实现圆形进度条,进度使用gradient渐变效果
    Android ProgressBar 默认提供了水平和圆形两种进度条,水平进度条通过 ProgressBar 控件实现,而圆形进度条通过 ProgressDialog 控件实现。如果想要将 Prog...
    99+
    2023-10-09
    kotlin android 开发语言
  • css怎么实现圆形渐变进度条效果
    这篇文章给大家分享的是有关css怎么实现圆形渐变进度条效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。实现思路最外面是一个大圆(渐变色)内部里面绘制两个半圆,将渐变的圆遮住(为了看起来明显,左右两侧颜色不一样,...
    99+
    2023-06-08
  • 如何使用CSS实现圆形进度条
    这篇文章主要介绍了如何使用CSS实现圆形进度条,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。   首先一个父级div设置相对定位,内部含有...
    99+
    2024-04-02
  • Qt使用QPainter实现自定义圆形进度条
    目录一、项目介绍二、项目基本配置三、UI界面设置四、主程序实现4.1 roundprogressbar.h和roundprogressbar.cpp4.2 widget.h头文件4....
    99+
    2024-04-02
  • 使用 css3怎么实现一个圆形进度条
    使用 css3怎么实现一个圆形进度条?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。html代码<div class="progressbar&qu...
    99+
    2023-06-08
  • C#使用winform实现进度条效果
    本文实例为大家分享了C#使用winform实现进度条效果的具体代码,供大家参考,具体内容如下 1.例子 2.点击查询按钮代码 private void button8_Click(...
    99+
    2024-04-02
  • vue使用SVG实现圆形进度条音乐播放
    最近在使用vue做仿网易云音乐的项目,遇到了圆形进度条实现音乐播放的功能,所以我在这里总结一下,分享给大家我的实现方法。我这里主要是通过SVG的方式实现的。 效果图: 实现过程 一...
    99+
    2024-04-02
  • 使用canvas怎么实现一个圆形进度条动画
    这期内容当中小编将会给大家带来有关使用canvas怎么实现一个圆形进度条动画,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1. canvas的HTML部分很简单就一个canvas标签canvas画布的宽高...
    99+
    2023-06-09
  • 如何使用批处理实现进度条效果
    这篇文章主要为大家展示了“如何使用批处理实现进度条效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用批处理实现进度条效果”这篇文章吧。代码如下:@echo off e...
    99+
    2023-06-08
  • vue中怎么使用SVG实现圆形进度条音乐播放
    今天小编给大家分享一下vue中怎么使用SVG实现圆形进度条音乐播放的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。效果图:实现...
    99+
    2023-06-29
  • 如何使用纯CSS实现滚动进度条效果
    这篇文章将为大家详细讲解有关如何使用纯CSS实现滚动进度条效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是csscss是一种用来表现HTML或XML等文件样式的计算机语言,主要是用来设计网页的样式...
    99+
    2023-06-14
  • 怎么使用JS和CSS实现加载进度条的效果
    这篇文章主要介绍“怎么使用JS和CSS实现加载进度条的效果”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用JS和CSS实现加载进度条的效果”文章能帮助大家解决问题。准备软件:HBuilderX...
    99+
    2023-07-04
  • 使用Timer实现网页匀速加载的进度条样式
    在使用WebView加载网页时有时候网速等原因加载比较慢时,为了避免在加载网页的时候出现一片空白的区域,给用户很不好的体验感,我们往往在加载的时候添加一个进度条,使用户直观的感受到网页加载的进度,通常我们可以通过WebChromeClien...
    99+
    2023-05-31
    timer 网页 进度条
  • 如何使用CSS实现元素的透明度渐变效果
    如何使用CSS实现元素的透明度渐变效果在Web开发中,为网页元素添加过渡效果是提升用户体验的重要手段之一。透明度的渐变效果不仅可以使页面变得更加平滑,还可以突出元素的重点内容。本文将介绍如何使用CSS实现元素的透明度渐变效果,并提供具体的代...
    99+
    2023-11-21
    CSS 元素 渐变效果 透明度
  • Vue使用NProgress实现页面顶部的进度条显示效果
    目录一、安装二、常用配置项1、递增进度条2、动画设置三、使用一、安装 npm i nprogress -S 二、常用配置项 1、递增进度条 以随机量递增,将其用于加载 NProgre...
    99+
    2022-12-23
    Vue NProgress Vue NProgress进度条
  • 如何使用css实现物流进度的样式
    这篇文章将为大家详细讲解有关如何使用css实现物流进度的样式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。效果:css样式:<style type="text/css"...
    99+
    2023-06-08
  • 如何使用JS+CSS实现一个简单加载进度条的效果
    这篇文章主要讲解了“如何使用JS+CSS实现一个简单加载进度条的效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用JS+CSS实现一个简单加载进度条的效果”吧!一、前言我们经常在网页...
    99+
    2023-06-15
  • css3中怎么使用animation属性实现背景颜色动态渐变的效果
    本篇内容主要讲解“css3中怎么使用animation属性实现背景颜色动态渐变的效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“css3中怎么使用animat...
    99+
    2024-04-02
  • 如何使用纯CSS和jQuery实现在页面顶部显示的进度条效果
    小编给大家分享一下如何使用纯CSS和jQuery实现在页面顶部显示的进度条效果,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、纯CSS实现代码如下:<style type...
    99+
    2024-04-02
  • Android开发——控件EditText, 2.获取EditText输入的数据,通过按钮点击实现,ImageView控件,缩放类型,控件ProgressBar,常用属性详解,进度条设置
    一.EditText 1.主要属性 1. android : hint输入提示2. android : textColorHint 输入提示文字的颜色3. android : inputType 输入类型4. android : draw...
    99+
    2023-10-21
    android 前端
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作