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文件. 由于 ...
随机推荐
- swift 可选类型(optional)--- swift 入门
一.思维导图 二.代码 //这样无形中就会让代码很丑陋 if x != nil && y != nil { print("x或y都不等于空") } print(&q ...
- 【AutoMapper官方文档】DTO与Domin Model相互转换(中)
写在前面 AutoMapper目录: [AutoMapper官方文档]DTO与Domin Model相互转换(上) [AutoMapper官方文档]DTO与Domin Model相互转换(中) [Au ...
- 前端工程师手中的Sublime Text
原文地址:http://css-tricks.com/sublime-text-front-end-developers/ 我的Blog:http://cabbit.me/sublime-text-f ...
- CSharpGL(19)用glReadPixels把渲染的内容保存为PNG图片(C#)
CSharpGL(19)用glReadPixels把渲染的内容保存为PNG图片(C#) 效果图 本文解决了将OpenGL渲染出来的内容保存到PNG图片的方法. 下载 CSharpGL已在GitHub开 ...
- ABP源码分析五:ABP初始化全过程
ABP在初始化阶段做了哪些操作,前面的四篇文章大致描述了一下. 为个更清楚的描述其脉络,做了张流程图以辅助说明.其中每一步都涉及很多细节,难以在一张图中全部表现出来.每一步的细节(会涉及到较多接口,类 ...
- Python学习--02输入和输出
命令行输入 x = input("Please input x:") y = raw_input("Please input x:") 使用input和raw_ ...
- oracle11g 重装操作系统后,如何利用原有oracle表空间文件还原数据库
最近由于系统重装,在还原dmp备份文件时,由于数据原因(用exp命令导出时表没有导出全部),导致系统不能正常运行.根据网上的信息和个人实际情况,做个记录,便于后用. oracle 导出空表方法: 1. ...
- AutoMapper对internal访问级别属性的映射
最近在使用DDD重新搭建公司内部OA的架构,具体情况搭好了应该会写一下,这里说的是今天遇到的问题. 先简单说一下相关的几个部分: 1.聚合.聚合分成了两个模块:一个包含审批单据等估计至少今年不会怎么变 ...
- 窥探Vue.js 2.0
title: 窥探Vue.js2.0 date: 2016-09-27 10:22:34 tags: vue category: 技术总结 --- 窥探Vue.js2.0 令人兴奋的Vue.js 2. ...
- 原生js之四步走搞定Ajax
说到Ajax,不得不先提一下HTTP(HTTP,HyperText Transfer Protocol)协议,中文名:超文本传输协议,是互联网上应用最为广泛的一种网络协议.所有的WWW文件 ...