android 自定义控件——(四)圆形进度条
----------------------------------↓↓圆形进度条(源代码下有属性解释)↓↓-----------------------------------------------------
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABDgAAAG5CAMAAABcGnRnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY2NDRFRjg4OUY0NTExRTY5NkRDOUMzNTY5MUJGRDlCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY2NDRFRjg5OUY0NTExRTY5NkRDOUMzNTY5MUJGRDlCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjY0NEVGODY5RjQ1MTFFNjk2REM5QzM1NjkxQkZEOUIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RjY0NEVGODc5RjQ1MTFFNjk2REM5QzM1NjkxQkZEOUIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5Xn4g/AAABgFBMVEWS3P+q4/////+Y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" alt="" width="408" height="166" />
一、shape 样式:(在drawable新建--》new--》Drawable resource file 并把原父级标签selector改为shape )
<?xml version="1.0" encoding="utf-8"?>
<!--把shape嵌套在rotate里面实现环形旋转-->
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="1080.0"
>
<shape
android:innerRadiusRatio="3"
android:shape="ring"
android:thicknessRatio="9"
android:useLevel="false">
<gradient
android:startColor="#ffffff"
android:endColor="#4ec5ff"
android:type="sweep" />
</shape>
</rotate>
二、style 样式:
<style name="ring">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:indeterminateDrawable">@drawable/buttonringstyle</item>
</style> 三、Button控件调用style样式:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.ly.blogtest.MainActivity">
<ProgressBar
style="@style/ring"
android:id="@+id/progressBar"
/>
</RelativeLayout>
----------------------------------↑↑↑↑圆形进度条↑↑↑↑↑-----------------------------------------------------
----------------------------------↓↓↓android:shape属性指定形状↓↓↓------------------------------
- rectangle: 矩形,默认的形状,可以画出直角矩形、圆角矩形、弧形等
- oval: 椭圆形,用得比较多的是画正圆
- line: 线形,可以画实线和虚线
- ring: 环形,可以画环形进度条
----------------------------------↑↑↑android:shape属性指定形状↑↑↑------------------------------
----------------------------------↓↓↓只适用于ring的特殊属性↓↓----------------------------------
注:shape中有一些特殊属性只适用于ring:
- android:innerRadius 内环的半径
- android:innerRadiusRatio 浮点型,以环的宽度比率来表示内环的半径,默认为3,表示内环半径为环的宽度除以3,该值会被android:innerRadius覆盖
- android:thickness 环的厚度
- android:thicknessRatio 浮点型,以环的宽度比率来表示环的厚度,默认为9,表示环的厚度为环的宽度除以9,该值会被android:thickness覆盖
- android:useLevel 一般为false,否则可能环形无法显示,只有作为LevelListDrawable使用时才设为true
----------------------------------↑↑↑只适用于ring的特殊属性↑↑↑----------------------------------
----------------------------------↓↓shape的属性标签↓↓-----------------------------------------
<shape>
<!-- 实心 -->
<solid android:color="#ff9d77"/>
<!-- 渐变 -->
<gradient
android:startColor="#ff8c00"
android:endColor="#FFFFFF"
android:angle="270" />
<!-- 描边 -->
<stroke
android:width="2dp"
android:color="#dcdcdc" />
<!-- 圆角 -->
<corners
android:radius="2dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
solid: 设置形状填充的颜色,只有android:color一个属性
- android:color 填充的颜色
padding: 设置内容与形状边界的内间距,可分别设置左右上下的距离
- android:left 左内间距
- android:right 右内间距
- android:top 上内间距
- android:bottom 下内间距
gradient: 设置形状的渐变颜色,可以是线性渐变、辐射渐变、扫描性渐变
- android:type 渐变的类型
- linear 线性渐变,默认的渐变类型
- radial 放射渐变,设置该项时,android:gradientRadius也必须设置
- sweep 扫描性渐变
- android:startColor 渐变开始的颜色
- android:endColor 渐变结束的颜色
- android:centerColor 渐变中间的颜色
- android:angle 渐变的角度,线性渐变时才有效,必须是45的倍数,0表示从左到右,90表示从下到上
- android:centerX 渐变中心的相对X坐标,放射渐变时才有效,在0.0到1.0之间,默认为0.5,表示在正中间
- android:centerY 渐变中心的相对X坐标,放射渐变时才有效,在0.0到1.0之间,默认为0.5,表示在正中间
- android:gradientRadius 渐变的半径,只有渐变类型为radial时才使用
- android:useLevel 如果为true,则可在LevelListDrawable中使用
- android:type 渐变的类型
corners: 设置圆角,只适用于rectangle类型,可分别设置四个角不同半径的圆角,当设置的圆角半径很大时,比如200dp,就可变成弧形边了
- android:radius 圆角半径,会被下面每个特定的圆角属性重写
- android:topLeftRadius 左上角的半径
- android:topRightRadius 右上角的半径
- android:bottomLeftRadius 左下角的半径
- android:bottomRightRadius 右下角的半径
stroke: 设置描边,可描成实线或虚线。
- android:color 描边的颜色
- android:width 描边的宽度
- android:dashWidth 设置虚线时的横线长度
- android:dashGap 设置虚线时的横线之间的距离
----------------------------------↑↑shape的属性标签↑↑-----------------------------------------
android 自定义控件——(四)圆形进度条的更多相关文章
- Android自定义控件之圆形进度条ImageView
From:http://blog.csdn.net/xiadik/article/details/41648181package com.wangran.beautiful_girl_show.vie ...
- Android 自定义 View 圆形进度条总结
Android 自定义圆形进度条总结 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 微信公众号:牙锅子 源码:CircleProgress 文中如有纰漏,欢迎大家留言指出. 最近 ...
- android 自定义图片圆形进度条
感觉话一个圆形进度条挺简单的 ,但是却偏偏给了几张图片让你话,说实话我没接触过,感觉好难,还好百度有大把的资源,一番努力下终于画出来了. 代码如下. package com.etong.cpms.wi ...
- Android自定义控件系列之应用篇——圆形进度条
一.概述 在上一篇博文中,我们给大家介绍了Android自定义控件系列的基础篇.链接:http://www.cnblogs.com/jerehedu/p/4360066.html 这一篇博文中,我们将 ...
- Android 高手进阶,自己定义圆形进度条
背景介绍 在Android 开发中,我们常常遇到各种各样绚丽的控件,所以,依靠我们Android本身所带的控件是远远不够的,许多时候须要我们自定义控件,在开发的过程中.我们公司遇到了一种须要自己写的一 ...
- 【Android 应用开发】 自定义 圆形进度条 组件
转载著名出处 : http://blog.csdn.net/shulianghan/article/details/40351487 代码下载 : -- CSDN 下载地址 : http://down ...
- Android 高手进阶之自定义View,自定义属性(带进度的圆形进度条)
Android 高手进阶(21) 版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请注明地址:http://blog.csdn.net/xiaanming/article/detail ...
- Android 带进度的圆形进度条
最近项目有个需求,做带进度从下到上的圆形进度条. 网上查了一下资料,发现这篇博客写得不错http://blog.csdn.net/xiaanming/article/details/10298163 ...
- Qt自定义控件系列(一) --- 圆形进度条
本系列主要使用Qt painter来实现一些基础控件.主要是对平时自行编写的一些自定义控件的总结. 为了简洁.低耦合,我们尽量不使用图片,qrc,ui等文件,而只使用c++的.h和.cpp文件. 由于 ...
随机推荐
- ENode 2.8 最新架构图简介
ENode架构图 什么是ENode ENode是一个.NET平台下,纯C#开发的,基于DDD,CQRS,ES,EDA,In-Memory架构风格的,可以帮助开发者开发高并发.高吞吐.可伸缩.可扩展的应 ...
- 这些年一直记不住的 Java I/O
参考资料 该文中的内容来源于 Oracle 的官方文档.Oracle 在 Java 方面的文档是非常完善的.对 Java 8 感兴趣的朋友,可以从这个总入口 Java SE 8 Documentati ...
- IOCP Internals
Buffer Type Buffer I/O 针对Buffer I/O的请求,系统会为其分配一个非换页内存作为缓存区,其大小等同于I/O请求的缓存区大小.对于写操作,I/O管理器在创建IRP时,将请求 ...
- BCL中String.Join的实现
在开发中,有时候会遇到需要把一个List对象中的某个字段用一个分隔符拼成一个字符串的情况.比如在SQL语句的in条件中,我们通常需要把List<int>这样的对象转换为“1,2,3”这样的 ...
- ubuntu中查看已有的mysql用户并修改用户名和密码
你先进入/etc/mysql 然后该目录下会有一个debian.cnf文件,用sudo cat debian.cnf查看里面的内容. 如果用户名为 debian-sys-maint 使用 mysql ...
- hibernate学习笔记之二 基本环境搭建
1.创建一个普通的java项目 2.加入Hibernate所有的jar包 3.建立包名com.bjpowernode.hibernate 4.建立实体类User.java package com.bj ...
- php 查询
<h1>租房信息</h1> <?php $db = ","asdadads"); $tj = "1=1"; $tj1 = ...
- Vim常用命令
一.插入命令 a 在光标所在字符后插入A 在光标所在行尾插入i 在光标所在字符前插入I 在光标所在行首插入o 在光标下插入新行O 在光标上插入新行 二.定位命令 :set nu 设置行号:set no ...
- vue中,class、内联style绑定、computed属性
1.绑定Class ①对象语法 <li :class="{ 'active': activeIdx==0 }" @click="fnClickTab(0)" ...
- Hybrid App技术批量制作APP应用与跨平台解决方案
前言 简单的聊一聊我开发了4年之久的Hybrid App(混合模式移动应用)平台开发,目前一直在持续开发与维护,支持无编程快速开发! 其本意也不是要吹捧前端有多么强大,只是用自己的实际项目阐述下对于前 ...