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


相关推荐: 高防服务器租用如何选择配置与防御等级?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  Java类加载基本过程详细介绍  高防服务器租用指南:配置选择与快速部署攻略  如何在万网利用已有域名快速建站?  香港服务器网站卡顿?如何解决网络延迟与负载问题?  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  如何在宝塔面板中创建新站点?  网站制作免费,什么网站能看正片电影?  Mybatis 中的insertOrUpdate操作  Laravel如何为API编写文档_Laravel API文档生成与维护方法  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  如何在云主机上快速搭建多站点网站?  如何彻底删除建站之星生成的Banner?  Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  Python正则表达式进阶教程_复杂匹配与分组替换解析  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  Python文件操作最佳实践_稳定性说明【指导】  如何在企业微信快速生成手机电脑官网?  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  如何在万网自助建站平台快速创建网站?  Laravel如何发送系统通知?(Notification渠道示例)  如何在阿里云香港服务器快速搭建网站?  Laravel如何使用查询构建器?(Query Builder高级用法)  专业商城网站制作公司有哪些,pi商城官网是哪个?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  详解Android图表 MPAndroidChart折线图  如何在七牛云存储上搭建网站并设置自定义域名?  详解阿里云nginx服务器多站点的配置  Python结构化数据采集_字段抽取解析【教程】  5种Android数据存储方式汇总  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  奇安信“盘古石”团队突破 iOS 26.1 提权  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  如何快速上传建站程序避免常见错误?  如何在服务器上三步完成建站并提升流量?  如何快速搭建个人网站并优化SEO?  制作企业网站建设方案,怎样建设一个公司网站?  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  Laravel如何使用Telescope进行调试?(安装和使用教程)  如何确保FTP站点访问权限与数据传输安全?  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】