`
radio123
  • 浏览: 206666 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

【转】Android自定义控件实现环形播放进度条

 
阅读更多

原文地址:http://www.eoeandroid.com/code/2011/1206/254.html

代码下载地址: http://www.eoe.cn/uploadfile/2011/1206/20111206024630395.zip

导读:我们就可以再Android的基础控件上实现我们想要的功能或者自定义的外观。以ProgressBar为例,对于可调节的进度条似乎只有长条形的ProgressBar

 

\"></p>
<p style=

01 <?xml version="1.0" encoding="utf-8"?> 
02 <resources>
03  
04     <declare-styleable name="RoundProgressBar"
05         <attr name="max" format="integer"/>       
06         <attr name="fill" format="boolean"/>                        <!-- 是否填充圆形区域 -->
07         <attr name="Paint_Width" format="integer"/>                <!-- 画笔宽度,填充模式下无效,会被重置为0 -->
08         <attr name="Paint_Color" format="integer"/>                <!-- 画笔颜色 -->
09         <attr name="Show_Bottom" format="boolean"/>                <!-- 是否显示底色 -->
10         <attr name="Inside_Interval" format="integer"/> <!-- 圆形区域向里缩进的距离 -->
11     </declare-styleable> 
12      
13 </resources>

 

这样在布局文件中,就可以配置这些属性值了,相关定义注释已写的很清楚,具体的大家下代码跑一跑比对一下就知道了

由于绘图使用的是纯画笔绘制,那么在视觉上看起来会比较单调,其实可以通过对画笔设置渲染效果来达到一个炫丽的效果,有兴趣的童鞋可以试一下,Paint.setShader这个接口,本例无此实现,就不详细介绍了

控件中有两个接口是作动画相关的
        public synchronized void  startCartoom(int time)
        public synchronized void  stopCartoom()


比如你想播放一个10秒的录音,同时用进度条来表示播放进度,那么就可以调用 startCartoom(i10)来开启动画
其他的似乎没啥好说的了,代码就不贴上来了,源码工程里的注释也写很清楚了,大家下下来看看就明白了

至于为什么该类继承于TextView而不是View其实是为了在配置文件里指定背景图能够自适应大小,继承与View则需要自己去实现,其实也不难,重写OnMeasure方法,在该方法里调用setMeasuredDimension重新设置视图大小为背景图大小就可以了,怎么获取背景图就不用哥说了吧。
好吧,就这样吧,附上源码工程:

分享到:
评论

相关推荐

    Android自定义控件实现导航条IndicatorView

    本文将深入探讨如何实现一个自定义的导航条IndicatorView,该控件具备滚动、快速滚动以及自动滚动到选中项完全显示在屏幕上的功能。我们将分为以下几个部分进行讲解: 1. **基础概念与需求分析** - IndicatorView...

    Android自定义控件之拖动条

    本文将深入探讨如何创建一个美观的自定义拖动条控件,即"Android自定义控件之拖动条"。我们将讨论以下几个关键知识点: 1. **基础知识**:在Android中,基本的滑动条控件是`SeekBar`,它允许用户通过拖动滑块来选择...

    Android自定义控件示例

    在Android开发中,自定义控件是提升应用独特性和功能扩展性的重要手段。这个压缩包“CustomViews”很可能是包含了一系列Android自定义控件的示例项目,旨在帮助开发者理解和学习如何在Android Studio 1.0.2环境下...

    android自定义控件源码

    本资源"android自定义控件源码"提供了一套详细的自定义控件实现案例,帮助开发者深入理解自定义控件的工作原理和实现方法。配合文章《Android自定义控件深度解析》(文章地址:...

    安卓自定义控件相关-Android自定义控件源码.rar

    这个压缩包"Android自定义控件源码.rar"包含了一些自定义控件的源代码,虽然不能保证每个都可直接运行,但它们提供了丰富的学习资源,帮助开发者理解和实践自定义控件的创建过程。下面将详细探讨Android自定义控件的...

    Android 自定义控件 组合控件

    总结起来,Android自定义组合控件的实现涉及到了对Android UI框架的深入理解和实践,包括继承自定义View或ViewGroup、测量与布局、绘制、事件处理等关键步骤。通过这样的方式,开发者可以构建出功能强大、交互丰富的...

    【Android进阶】(1)用继承和组合方式自定义控件

    在Android开发中,自定义控件是提升应用用户体验和界面设计独特性的重要手段。本教程主要探讨如何通过继承和组合的方式来自定义控件,适用于已经有一定Android基础的开发者进行进阶学习。 首先,我们来理解自定义...

    Avalonia实现导航条自定义控件

    Avalonia实现导航条自定义控件;Avalonia实现导航条自定义控件;Avalonia实现导航条自定义控件;Avalonia实现导航条自定义控件;Avalonia实现导航条自定义控件;Avalonia实现导航条自定义控件;Avalonia实现导航条...

    android 自定义控件 小球圆周运动

    在Android开发中,自定义控件是实现独特用户界面效果的重要手段。本教程将深入探讨如何创建一个自定义控件,让小球沿着圆周进行运动。这个过程涉及到Canvas绘图、动画处理以及Android帧率控制等多个核心知识点。 ...

    Aandroid自定义环形播放进度条

    android自定义环形播放进度条源码,供需要的人下载。

    Android 自定义控件简单Demo

    在Android开发中,自定义控件是提升应用独特性和用户体验的重要手段。本示例"Android 自定义控件简单Demo"将向我们展示如何创建一个结合图片和文字的自定义控件,这通常用于构建定制化的按钮、标签或其他UI元素。...

    Android自定义控件的demo

    本示例将深入讲解如何基于Android系统实现一个自定义的Button控件,该控件由一个ImageView和一个TextView组成,并添加了标签功能。以下我们将从以下几个方面展开讨论: 1. **基础知识**:在Android中,控件是构成UI...

    《Android自定义控件入门到实战》源码2018.10

    《Android自定义控件入门到实战》是一本深入讲解Android平台下自定义控件开发的教程,源码2018.10版提供了一套完整的实践案例,帮助开发者从基础到进阶全面掌握自定义控件的制作技巧。这份资料涵盖了从基本的自定义...

    android 自定义控件源码实现

    本文将深入探讨如何在Android中实现自定义控件,特别是针对"TestImgTextButton"这个自定义按钮的源码分析。 首先,我们要了解自定义控件的基本流程。自定义控件通常包括以下几个步骤: 1. **创建新类**:自定义...

    《Android自定义控件入门到实战》源码

    通过《Android自定义控件入门到实战》源码的学习,开发者可以从实践中探索这些知识点,逐步掌握自定义控件的设计与实现技巧。这些源码实例将涵盖各种自定义控件的实现,如进度条、滑块、日历、图表等,帮助开发者在...

    自定义控件Demo

    在Android开发中,自定义控件是提升应用界面独特性和用户体验的重要手段。通过自定义控件,开发者可以创建出符合自身需求的UI组件,从而更好地实现应用的功能和设计。本Demo着重介绍了如何在Android中创建自定义控件...

    Android自定义控件(实现状态提示图表)

    本文将深入探讨如何在Android中创建一个自定义控件,用于实现状态提示图表。这种图表能够动态显示数据,非常适合用来实时反馈应用程序的状态或者进度。 首先,我们要创建一个新的Java类,继承自Android的基础视图类...

    Android自定义控件 旋转按钮

    博客地址:http://blog.csdn.net/kong_gu_you_lan/article/details/53573439 GitHub地址:https://github.com/alidili/TempControlView

    Android 自定义组合控件案例

    在Android开发中,自定义...通过学习和实践自定义控件,开发者可以更好地掌控Android界面设计,实现独特的视觉效果和交互体验。"Android 自定义控件实例"提供了具体的实践案例,有助于加深对自定义控件的理解和应用。

    Android 编写自定义控件实例

    在Android开发中,自定义控件是提升应用独特性和用户体验的重要手段。本教程将通过一个具体的实例——saRoundProgressBarDemo,来教你如何编写一个自定义的圆形进度条控件。这个自定义控件不仅提供了基本的进度显示...

Global site tag (gtag.js) - Google Analytics