Android编程之自定义ProgressBar示例

发布时间 - 2026-01-11 02:48:11    点击率:

本文实例讲述了Android编程自定义ProgressBar。分享给大家供大家参考,具体如下:

<?xml version="1.0" encoding="UTF-8"?>
<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="30"
    android:useLevel="false">
    <gradient
      android:centerColor="#FFFFFF"
      android:centerY="0.01"
      android:endColor="#FFFFFF"
      android:startColor="#000000"
      android:type="sweep"
      android:useLevel="false"/>
  </shape>
</rotate>

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:background="@drawable/base_wait_dialog2"
 android:gravity="center"
 android:padding="8dp"
 android:orientation="vertical">
  <ProgressBar android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:indeterminateDrawable="@drawable/wait_progressbar"
    android:layout_marginTop="6dp"/>
  <TextView
    android:id="@+id/loadingTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="#FFFFFF"
    android:textSize="16dp"
    android:layout_marginTop="10dp"
    android:layout_marginLeft="6dp"
    android:layout_marginRight="6dp"
    android:layout_marginBottom="6dp"
    android:gravity="center"
    android:text="正在加载,请稍等.."/>
</LinearLayout>

这是ProgressBar控件,直接用android:indeterminateDrawable去引用上面的文件就可以了.

<ProgressBar
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:indeterminateDrawable="@drawable/wel_act_loading_pro"
    />

gradient里的属性没什么好介绍的, 这里主要是shape.

下列属性只在android:shape="ring"时使用:

android:innerRadiux
尺寸值,它用尺寸值或尺寸资源指定圆环内部的半径(指中间的圆孔的半径)。

android:innerRadiusRatio
浮点值,它用圆环宽度的比率来表示内部圆环的半径。例如,如果android:innerRadiusRatio="5",那么内部半径就等于圆环的宽度除以5。这个值会被android:innerRadius的值覆盖。默认是9。

android:thickness
尺寸值,它用一个尺寸值或尺寸资源来定义圆环的厚度。

android:thicknessRatio
浮点值。它用圆环宽度的比率来表示圆环的厚度。例如,如果android:thicknessRatio="2",那么厚度就等于圆环的宽度除以2。这个值会被android:innerRadius覆盖。默认值是3。也就是说这个值设置的越大圆环就越细了。

android:useLevel
布尔值,如果这个形状要用于LevelListDrawable对象,那么就设置为true。通常应该设置为false或者让形状不可见。

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android基本组件用法总结》、《Android开发入门与进阶教程》、《Android布局layout技巧总结》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android资源操作技巧汇总》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。


# Android  # 自定义  # ProgressBar  # Android自定义View 使用PathMeasure简单模仿系统ProgressBar(四)  # Android自定义谷歌风格ProgressBar  # Android编程实现自定义ProgressBar样式示例(背景色及一级、二级进度条颜色)  # Android三种方式实现ProgressBar自定义圆形进度条  # Android编程ProgressBar自定义样式之动画模式实现方法  # android ListView和ProgressBar(进度条控件)的使用方法  # Android ProgressBar进度条和ProgressDialog进度框的展示DEMO  # Android ProgressBar进度条使用详解  # 它用  # 浮点  # 设置为  # 就等于  # 进阶  # 这是  # 操作技巧  # 相关内容  # 感兴趣  # 给大家  # 要用  # 只在  # 越大  # 更多关于  # 就越  # 所述  # 正在加载  # 程序设计  # 就可以 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: JS碰撞运动实现方法详解  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  使用豆包 AI 辅助进行简单网页 HTML 结构设计  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  Python制作简易注册登录系统  ,交易猫的商品怎么发布到网站上去?  网站制作软件有哪些,制图软件有哪些?  网站建设整体流程解析,建站其实很容易!  微信小程序 scroll-view组件实现列表页实例代码  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  利用python获取某年中每个月的第一天和最后一天  Laravel如何使用Gate和Policy进行授权?(权限控制)  零服务器AI建站解决方案:快速部署与云端平台低成本实践  如何用花生壳三步快速搭建专属网站?  详解CentOS6.5 安装 MySQL5.1.71的方法  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  如何在万网开始建站?分步指南解析  Python文件操作最佳实践_稳定性说明【指导】  Laravel如何实现一对一模型关联?(Eloquent示例)  🚀拖拽式CMS建站能否实现高效与个性化并存?  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  如何挑选最适合建站的高性能VPS主机?  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  晋江文学城电脑版官网 晋江文学城网页版直接进入  原生JS获取元素集合的子元素宽度实例  Android利用动画实现背景逐渐变暗  Laravel怎么实现验证码(Captcha)功能  详解Android——蓝牙技术 带你实现终端间数据传输  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  Laravel怎么清理缓存_Laravel optimize clear命令详解  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  如何在搬瓦工VPS快速搭建网站?  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  SQL查询语句优化的实用方法总结  怎么用AI帮你为初创公司进行市场定位分析?  如何在局域网内绑定自建网站域名?  如何注册花生壳免费域名并搭建个人网站?  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  黑客入侵网站服务器的常见手法有哪些?  简单实现jsp分页  如何在阿里云完成域名注册与建站?  JavaScript如何实现继承_有哪些常用方法  如何实现建站之星域名转发设置?  zabbix利用python脚本发送报警邮件的方法