xml文件:

android:centerColor="#00ff00"

android:endColor="#0000ff"

android:startColor="#ff0000" />

angle效果图[演示从0-45-90-135-180](为了更好的理解)

centerX效果图[演示从0-0.2-0.4-0.6-0.8-1.0](为了更好的理解)

步骤一:创建出drawable的xml文件

android:centerColor="#88ff3939"

android:endColor="#50ff3939"

android:startColor="#90ff3939" />

android:centerColor="#88221e12"

android:endColor="#50221e12"

android:startColor="#90221e12" />

步骤二:在layout的xml文件中使用

android:id="@+id/pb"

style="@style/Base.Widget.AppCompat.ProgressBar.Horizontal"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:progressDrawable="@drawable/custom_download_progress_bar" />步骤三:查看效果图步骤四:动画效果实现(这里使用indeterminateDrawable这个属性)准备一组图片,在drawable\xml中:

android:oneshot="false">

android:drawable="@drawable/app_refresh_people_0"

android:duration="200" />

android:drawable="@drawable/app_refresh_people_1"

android:duration="200" />

android:drawable="@drawable/app_refresh_people_2"

android:duration="200" />

android:drawable="@drawable/app_refresh_people_3"

android:duration="200" />

在layout\xml文件中:

style="?android:attr/progressBarStyle"

android:layout_width="98dp"

android:layout_height="146dp"

android:layout_centerInParent="true"

android:indeterminate="false"

android:indeterminateDrawable="@drawable/custom_animation_progress_bar" />效果图:步骤五:附加三个漂亮的进度条先看效果图:

三个drawable的xml文件:orange

red

blue

三个在layout的xml文件:

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:padding="16dp">

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_margin="5dp"

android:background="#F07C4E"

android:orientation="horizontal"

android:padding="8dp">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center_vertical"

android:background="#DB551D"

android:paddingBottom="8dp"

android:paddingLeft="16dp"

android:paddingRight="16dp"

android:paddingTop="8dp"

android:text="18%"

android:textColor="#ffffff"

android:textSize="16dp" />

style="@style/Base.Widget.AppCompat.ProgressBar.Horizontal"

android:layout_width="match_parent"

android:layout_height="22dp"

android:layout_gravity="center_vertical"

android:paddingBottom="6dp"

android:paddingLeft="12dp"

android:paddingRight="12dp"

android:paddingTop="6dp"

android:progress="18"

android:progressDrawable="@drawable/custom_orange_progress_bar" />

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_margin="5dp"

android:background="#F14E69"

android:orientation="horizontal"

android:padding="8dp">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center_vertical"

android:background="#DA1C38"

android:paddingBottom="8dp"

android:paddingLeft="16dp"

android:paddingRight="16dp"

android:paddingTop="8dp"

android:text="62%"

android:textColor="#ffffff"

android:textSize="16dp" />

style="@style/Base.Widget.AppCompat.ProgressBar.Horizontal"

android:layout_width="match_parent"

android:layout_height="22dp"

android:layout_gravity="center_vertical"

android:paddingBottom="6dp"

android:paddingLeft="12dp"

android:paddingRight="12dp"

android:paddingTop="6dp"

android:progress="62"

android:progressDrawable="@drawable/custom_red_progress_bar" />

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_margin="5dp"

android:background="#4ED9EC"

android:orientation="horizontal"

android:padding="8dp">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center_vertical"

android:background="#1DBADB"

android:paddingBottom="8dp"

android:paddingLeft="16dp"

android:paddingRight="16dp"

android:paddingTop="8dp"

android:text="47%"

android:textColor="#ffffff"

android:textSize="16dp" />

style="@style/Base.Widget.AppCompat.ProgressBar.Horizontal"

android:layout_width="match_parent"

android:layout_height="22dp"

android:layout_gravity="center_vertical"

android:paddingBottom="6dp"

android:paddingLeft="12dp"

android:paddingRight="12dp"

android:paddingTop="6dp"

android:progress="47"

android:progressDrawable="@drawable/custom_blue_progress_bar" />

android的三个基础控件,Android基础控件——ProgressBar自定义的介绍、动画效果实现、附加三个漂亮的进度条...相关推荐

  1. Android基础控件——ProgressBar自定义的介绍、动画效果实现、附加三个漂亮的进度条

    ProgressBar自定义的介绍.动画效果实现.附加三个漂亮的进度条 shape属性介绍: corners 圆角   gradient 渐变   padding 内容离边界距离   size 大小 ...

  2. Android基础控件——SeekBar的自定义,超短代码模仿抖音带有数字拖拽进度条

    前言 在开发中,经常会遇到SeekBar组件的开发,一个高效的自定义SeekBar显得尤为重要,笔者刚好也在项目中大量使用带有数字的拖拽进度条,在深思熟虑后,打算从继承源码形式上,把数字绘制在拖拽进度 ...

  3. android漂亮的进度条,Android编程之NumberProgressBar:漂亮的Android进度条

    NumberProgressBar是一个简约性感的数字进度条,该控件虽然也叫ProgressBar,但是和sdk中的ProgressBar控件没有任何继承关系,直接继承子view. Download  ...

  4. android 自定义加载动画效果,Android自定义View实现loading动画加载效果

    项目开发中对Loading的处理是比较常见的,安卓系统提供的不太美观,引入第三发又太麻烦,这时候自己定义View来实现这个效果,并且进行封装抽取给项目提供统一的loading样式是最好的解决方式了. ...

  5. Android中实现ProgressBar菊花旋转的动画效果

    在一些常见到的加载中需要显示一个加载动画,如旋转的菊花,旋转的圈圈等等动画-,然后我们现在就来说下怎么去试下它吧 一.菊花的旋转动画 1.新建一个drawable文件 在res/drawable下新建 ...

  6. 精通Android自定义View(十四)绘制水平向右加载的进度条

    1引言 1 精通Android自定义View(一)View的绘制流程简述 2 精通Android自定义View(二)View绘制三部曲 3 精通Android自定义View(三)View绘制三部曲综合 ...

  7. android 自定义加载动画效果,Android 自定义View修炼-自定义加载进度动画LoadingImageView...

    一.概述 本自定义View,是加载进度动画的自定义View,继承于ImageView来实现,主要实现蒙层加载进度的加载进度效果. 支持水平左右加载和垂直上下加载四个方向,同时也支持自定义蒙层进度颜色. ...

  8. android ar人脸贴图,ARCore与ARKit实现人脸贴纸、更换材质等动画效果

    近两年市面上出现了很多有关有关美颜滤镜.贴纸等各种贴纸效果的相机出现,由于项目的需要调研了google开源的一个能够提供3D角度的ARCore框架,本人也结合ARKit在iOS手机上实现了类抖音的效果 ...

  9. android音乐播放器上一首,安卓源码(音乐播放器,有播放和下一首,和进度条等功能)...

    [实例简介] 安卓音乐播放器,可以完美播放音乐,放下使用,在安卓eclipse下使用. [实例截图] [核心代码] Player └── Player ├── AndroidManifest.xml ...

最新文章

  1. 如何计算服务限流的配额
  2. ITK:图像的区域最大值
  3. swift面向对象之多态与继承
  4. map的几种遍历方法
  5. Android 系统(275)---Mtk Webview基本问题
  6. 百度智能音箱新品被指抄袭天猫精灵方糖R:存在5处雷同
  7. D3 Selections
  8. [转]Linux TCP/IP 协议栈的关键数据结构Socket Buffer(sk_buff )
  9. 苹果x用了2年了,当前4G信号时有时无,大家有遇到过么?
  10. Javascript备忘复习笔记2
  11. 《Efficient Android Threading》Chapter 3---Threads on Android (Android中的线程)
  12. PDF内容太多分不清?这个PDF加页码的方法可以帮助你
  13. IT小白重装系统大全
  14. 指纹支付 java lang6_支付宝;超6成人使用指纹、刷脸支付,网友;喜欢用密码!...
  15. 微信小程序《难忘便签》开发记录
  16. threejs-经纬度转换成xyz坐标的方法
  17. 图像处理之仿油画效果
  18. python基础知识整理一
  19. LeetCode——883. 三维形体投影面积
  20. elementui from表单提交_vue+element-ui el-form表单验证及提交验证

热门文章

  1. Linux优化不知如何下手?那你的看看这篇文章了
  2. Python基础教程:菱形继承问题
  3. 在html页面中加入矢量图,HTML5画布矢量图形?
  4. Linux socket 流模式(STREAM)跟数据报模式(DGRAM)的区别
  5. Linux ubuntu16.04 安装opencv4教程(源码编译)
  6. 【放置奇兵】算法 酒馆攻略
  7. 华硕主板X99-E WS/USB 3.1 Intel Realsense D435摄像头掉线是否与Intel推行的xhci有关?
  8. Python 计算机视觉(十一)—— OpenCV 图像形态学处理
  9. Python---Pickle模块
  10. 王道考研——计算机组成原理(第二章 数据的表示和运算)