我们知道Android为ProgressBar提供了几种不同的样式,不过若是只是这几种样式还不能满足我们对界面的需求。例如,我们ProgressBar的前景和背景。一般情况下我们希望这是一个按照我们自己意愿的这样一个前景和背景。

这里又要分成几种不同的情况:

1.规则的长方形;

2.环形;

3.不规则图形;

我们这里只要对两种情况进行一个讨论。就是规则的长方形和不规则图形。为什么不对第二种情况进行讨论是因为规则的长方形和不规则的图形笔者之前有用到过,环形的进度条笔者没用到过,笔者在这里想偷个懒,其实很简单的东西,相信大家也是有办法知道该怎么做。

好了,废话不多说。先是规则的长方形进度条。对于规则的长方形进度条,是要借助Android自带的水平进度条,只是我们在xml文件中对ProgressBar进行一个进度样式属性设置。具体xml文件代码如下:

<ProgressBarandroid:id="@+id/activity_main_progressbar"style="?android:attr/progressBarStyleHorizontal"android:layout_width="match_parent"android:layout_height="wrap_content"android:progressDrawable="@drawable/progressbg"android:layout_below="@+id/textView1" />

其中,style="?android:attr/progressBarStyleHorizontal"对设置它的样式,是水平还是环形等等。而android:progressDrawable="@drawable/progressbg"则是对前景和背景的一个设置。不一样的是progressbg也是一个xml文件,而不是我们所熟悉的图片了。是不是很奇怪为什么@drawable中还能放图片之外的东西?然后这个图片之外的东西对我们Android上界面的一些基本需求还是作出了巨大的贡献的。这个progressbg.xml文件中的具体代码如下:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" ><!--  设置背景色图像资源  -->   <item android:id="@android:id/background" android:drawable="@drawable/progressbggreen" />   <!--  设置第一级进度条颜色图像资源  -->   <item android:id="@android:id/progress" android:drawable="@drawable/progressbgpink" /></layer-list>

接下来是Java代码,当然如果你之前就在xml的layout文件中写好了ProgressBar的进度值,并且不需要去设置其进度值,那么接下来的代码大可不必看了。Java中的关键代码如下(其实的确也是废话一句):

ProgressBar progressBar = (ProgressBar) findViewById(R.id.activity_main_progressbar);
progressBar.setProgress(progress);

以上就是本程序的关键代码,如果需要这个程序的源代码(本程序的Demo中还写了对进度条的动态刷新),点击此网络连接进行下载

说了规则的长方形进度条现在再来说说不规则的进度条。对于不规则的进度条,我们用到一个比较新的概念——蒙板效果。之前我写过一篇有关于这个蒙板效果的博客,感兴趣的朋友可以点击如下连接查看。。。

—————————— Android中用图片自定义一个进度条(实现蒙板效果) ——————————
里面也是蒙板效果的Demo源码的。这里大家应该了解一个问题——规则的长方形进度条只是不规则图形进度条的一种特殊情况。

Android设置ProgressBar的前景和背景及其在多线程中的刷新相关推荐

  1. 苹果邮箱 android设置字体,如何更改Mac OS X中的邮件字体大小?

    在Mac OS X的"邮件"和"imessage"应用程序往往是我们最常用的通讯工具了,他们的默认字体大小是12号.如果您觉得字号太小,或者是太大了,不用担心, ...

  2. Android 设置字体加粗,斜体,中划线(删除线)下划线,上标,下标,文字表情等

    ForegroundColorSpan,为文本设置部分颜色 /*** 设置部分字体颜色*/ public void setTextColor(){SpannableString spannableSt ...

  3. android 学习随笔十三(网络:多线程下载)

    多线程断点续传下载 1.多线程:快 * 原理:抢占服务器资源 * 单线程下载:线程从第0个字节开始下,下到最后一个字节,在本地硬盘的临时文件中从第0个字节开始写,写到最后一个字节,下载完成时,临时文件 ...

  4. android串口补位,Rust多线程中的消息传递机制

    代码说话. use std::thread; use std::sync::mpsc; use std::time::Duration; fn main() { let (tx, rx) = mpsc ...

  5. android 自定义背景园,Android 自定义ProgressBar 进度条颜色和背景颜色

    Android 自定义ProgressBar 进度条颜色和背景颜色 首先,在drawable目录下新建文件 personal_center_level_progress_bg.xmlandroid a ...

  6. Android自定义progressBar

    通过继承系统ProgressBar实现 效果图 实现 HorizontalProgressBarWithNumber 自定义属性 <?xml version="1.0" en ...

  7. android设计一个多线程和画图的程序小球,Android开发之多线程中实现利用自定义控件绘制小球并完成小球自动下落功能实例...

    本文实例讲述了Android开发之多线程中实现利用自定义控件绘制小球并完成小球自动下落功能的方法.分享给大家供大家参考,具体如下: 1.布局界面 xmlns:tools="http://sc ...

  8. android 设置壁纸,在Android中使用WallpaperManager设置壁纸

    以下是我的代码,我想使用壁纸管理器设置为壁纸.我正在使用Universal Image Loader,但我不知道如何实现壁纸管理器.我的setWall()不起作用,有点令人困惑. import and ...

  9. android 自定义progressbar demo,Android自定义View――动态ProgressBar之模仿360加速球

    在之前一篇文章中我们讲解了三种ProgressBar的做法,详见-><Android 自定义View--自定义ProgressBar >.这一节中我们模仿360加速球制作一个动态Pr ...

最新文章

  1. 分布式任务调度系统V1
  2. 提升vector性能的几个技巧
  3. lnmp的搭建及php加速
  4. Servlet流程总结
  5. unity服务器文件传输,Unity 3D简单C#文件发送到FPT服务器示例脚本?
  6. LeakCanary: 让内存泄露无所遁形
  7. 【svn】svn的使用
  8. C语言 满分代码 L1-047 装睡(解题报告)
  9. linux plc编程软件,基于Linux平台的可编程控制器软PLC设计
  10. opencvpython图像代码_PythonOpenCV各种图像库的图像读写 增强 方式的简单介绍(附代码)...
  11. 【Oracle】并行等待之PX Deq Credit: need buffer
  12. 苹果iOS 11.3.1正式发布,修复iPhone 8触屏bug
  13. 新旧骗术揭秘:防止5G时代的电信诈骗
  14. 电视机hdr是什么功能
  15. python3解两数之和
  16. 分布式文件系统HDFS实践及原理详解part3
  17. C语言成绩统计源代码,C语言课程设计学生成绩管理系统+源码
  18. 使用Postman访问k8s RESTful API
  19. 数字图像处理——拉普拉斯算子【像素级别处理】(python)
  20. FLT_MAX 和 FLT_MIN的定义

热门文章

  1. C++(五)——运算符重载
  2. 攻防世界Reverse第九题no-strings-attached
  3. [reference]-Features_in_A-profile
  4. optee os中共享内存的类型
  5. Linux Kernel中gicv3实现:SPIs中断routing到指定的CPU
  6. [optee]-optee中的异常向量表的实现
  7. JAVASE——File类
  8. 2020-11-11(aidl)
  9. Linux 手动或自动挂载 NTFS 硬盘
  10. 10、MySQL锁等待,死锁,死锁检测