Highcharts 测量图;Highcharts 圆形进度条式测量图;Highcharts 时钟;Highcharts 双轴车速表;Highcharts 音量表(VU Meter)

Highcharts 测量图


配置

chart.type 配置

配置 chart 的 type 为 ‘gauge‘ 。chart.type 描述了图表类型。默认值为 "line"。

var chart = {
   type: ‘guage‘
};

pane 配置

pane 只适用在极坐标图和角度测量仪。此可配置对象持有组合x轴和y周的常规选项。每个x轴和y轴都可以通过索引关联到窗格中。

var pane = {
  startAngle: -150,  // x轴或测量轴的开始度数,以度数的方式给出。0是北
  endAngle: 150      //x轴极坐标或角度轴的最终度数,以度数的方式给出。0是北
};

实例

文件名:highcharts_guage_angular.htm

<html>
<head>
<meta charset="UTF-8" />
<title>Highcharts 教程 | 菜鸟教程(runoob.com)</title>
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/highcharts-more.js"></script>
</head>
<body>
<div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div>
<script language="JavaScript">
$(document).ready(function() {
   var chart = {
      type: ‘gauge‘,
      plotBackgroundColor: null,
      plotBackgroundImage: null,
      plotBorderWidth: 0,
      plotShadow: false
   };
   var title = {
      text: ‘车速表‘
   };     

   var pane = {
      startAngle: -150,
      endAngle: 150,
      background: [{
         backgroundColor: {
            linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
            stops: [
               [0, ‘#FFF‘],
               [1, ‘#333‘]
            ]
         },
         borderWidth: 0,
         outerRadius: ‘109%‘
      }, {
         backgroundColor: {
            linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
            stops: [
               [0, ‘#333‘],
               [1, ‘#FFF‘]
            ]
         },
         borderWidth: 1,
         outerRadius: ‘107%‘
     }, {
         // default background
     }, {
         backgroundColor: ‘#DDD‘,
         borderWidth: 0,
         outerRadius: ‘105%‘,
         innerRadius: ‘103%‘
     }]
   };

   // the value axis
   var yAxis = {
      min: 0,
      max: 200,

      minorTickInterval: ‘auto‘,
      minorTickWidth: 1,
      minorTickLength: 10,
      minorTickPosition: ‘inside‘,
      minorTickColor: ‘#666‘,

      tickPixelInterval: 30,
      tickWidth: 2,
      tickPosition: ‘inside‘,
      tickLength: 10,
      tickColor: ‘#666‘,
      labels: {
         step: 2,
         rotation: ‘auto‘
      },
      title: {
         text: ‘km/h‘
      },
      plotBands: [{
         from: 0,
         to: 120,
         color: ‘#55BF3B‘ // green
      }, {
         from: 120,
         to: 160,
         color: ‘#DDDF0D‘ // yellow
      }, {
         from: 160,
         to: 200,
         color: ‘#DF5353‘ // red
      }]
   };

   var series= [{
        name: ‘Speed‘,
        data: [80],
        tooltip: {
           valueSuffix: ‘ km/h‘
        }
   }];     

   var json = {};
   json.chart = chart;
   json.title = title;
   json.pane = pane;
   json.yAxis = yAxis;
   json.series = series;     

   // Add some life
   var chartFunction = function (chart) {
      if (!chart.renderer.forExport) {
         setInterval(function () {
         var point = chart.series[0].points[0], newVal, inc = Math.round((Math.random() - 0.5) * 20);
         newVal = point.y + inc;
         if (newVal < 0 || newVal > 200) {
            newVal = point.y - inc;
         }
         point.update(newVal);
         }, 3000);
      }
   };

   $(‘#container‘).highcharts(json,chartFunction);
});
</script>
</body>
</html>

尝试一下 ?

以上实例输出结果为:

Highcharts 圆形进度条式测量图


配置

chart.type 配置

配置 chart 的 type 为 ‘solidguage‘ 。chart.type 描述了图表类型。默认值为 "line"。

var chart = {
   type: ‘solidguage‘
};

pane 配置

pane 只适用在极坐标图和角度测量仪。此可配置对象持有组合x轴和y周的常规选项。每个x轴和y轴都可以通过索引关联到窗格中。

var pane = {
  startAngle: -150,  // x轴或测量轴的开始度数,以度数的方式给出。0是北
  endAngle: 150      //x轴极坐标或角度轴的最终度数,以度数的方式给出。0是北
};

实例

文件名:highcharts_guage_solid.htm

<html>
<head>
<meta charset="UTF-8" />
<title>Highcharts 教程 | 菜鸟教程(runoob.com)</title>
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/highcharts-more.js"></script>
<script src="http://code.highcharts.com/modules/solid-gauge.js"></script>
</head>
<body>
<div style="width: 600px; height: 400px; margin: 0 auto">
    <div id="container-speed" style="width: 300px; height: 200px; float: left"></div>
    <div id="container-rpm" style="width: 300px; height: 200px; float: left"></div>
</div>
<script language="JavaScript">
$(document).ready(function() {
   var chart = {
      type: ‘solidgauge‘
   };
   var title = null;

   var pane = {
      center: [‘50%‘, ‘85%‘],
      size: ‘140%‘,
      startAngle: -90,
      endAngle: 90,
      background: {
         backgroundColor: (Highcharts.theme && Highcharts.theme.background2) || ‘#EEE‘,
         innerRadius: ‘60%‘,
         outerRadius: ‘100%‘,
         shape: ‘arc‘
      }
   };

   var tooltip = {
      enabled: false
   };

   // the value axis
   var yAxis = {
      stops: [
         [0.1, ‘#55BF3B‘], // green
         [0.5, ‘#DDDF0D‘], // yellow
         [0.9, ‘#DF5353‘] // red
      ],
      lineWidth: 0,
      minorTickInterval: null,
      tickPixelInterval: 400,
      tickWidth: 0,
      title: {
         y: -70
      },
      labels: {
         y: 16
      },
      min: 0,
      max: 200,
      title: {
         text: ‘Speed‘
      }
   };      

   var plotOptions = {
      solidgauge: {
         dataLabels: {
            y: 5,
            borderWidth: 0,
            useHTML: true
         }
      }
   };

   var credits = {
      enabled: false
   };

   var series = [{
      name: ‘Speed‘,
      data: [80],
      dataLabels: {
         format: ‘<div style="text-align:center"><span style="font-size:25px;color:‘ +
         ((Highcharts.theme && Highcharts.theme.contrastTextColor) || ‘black‘) + ‘">{y}</span><br/>‘ +
         ‘<span style="font-size:12px;color:silver">km/h</span></div>‘
      },
      tooltip: {
         valueSuffix: ‘ km/h‘
      }
   }];
    
   var json = {};
   json.chart = chart;
   json.title = title;
   json.pane = pane;
   json.tooltip = tooltip;
   json.yAxis = yAxis;
   json.credits = credits;
   json.series = series;
   $(‘#container-speed‘).highcharts(json);   

   // the value axis
   yAxis = {
      stops: [
         [0.1, ‘#55BF3B‘], // green
         [0.5, ‘#DDDF0D‘], // yellow
         [0.9, ‘#DF5353‘] // red
      ],
      lineWidth: 0,
      minorTickInterval: null,
      tickPixelInterval: 400,
      tickWidth: 0,
      title: {
         y: -70
      },
      labels: {
         y: 16
      },
      min: 0,
      max: 5,
      title: {
         text: ‘RPM‘
      }
   };      

   series = [{
      name: ‘RPM‘,
      data: [1],
      dataLabels: {
         format: ‘<div style="text-align:center"><span style="font-size:25px;color:‘ +
         ((Highcharts.theme && Highcharts.theme.contrastTextColor) || ‘black‘) + ‘">{y:.1f}</span><br/>‘ +
         ‘<span style="font-size:12px;color:silver">* 1000 / min</span></div>‘
      },
      tooltip: {
         valueSuffix: ‘ revolutions/min‘
      }
   }];

   json.yAxis = yAxis;
   json.series = series;
   $(‘#container-rpm‘).highcharts(json);  

   var chartFunction = function() {
      // Speed
      var chart = $(‘#container-speed‘).highcharts();
      var point;
      var newVal;
      var inc;

      if (chart) {
         point = chart.series[0].points[0];
         inc = Math.round((Math.random() - 0.5) * 100);
         newVal = point.y + inc;

         if (newVal < 0 || newVal > 200) {
            newVal = point.y - inc;
         }
         point.update(newVal);
      }

      // RPM
      chart = $(‘#container-rpm‘).highcharts();
      if (chart) {
         point = chart.series[0].points[0];
         inc = Math.random() - 0.5;
         newVal = point.y + inc;

         if (newVal < 0 || newVal > 5) {
            newVal = point.y - inc;
         }

         point.update(newVal);
      }
   };   

   // Bring life to the dials
   setInterval(chartFunction, 2000);
});
</script>
</body>
</html>

尝试一下 ?

以上实例输出结果为:

Highcharts 时钟


配置

chart.type 配置

配置 chart 的 type 为 ‘gauge‘ 。chart.type 描述了图表类型。默认值为 "line"。

var chart = {
   type: ‘gauge‘
};

pane 配置

pane 只适用在极坐标图和角度测量仪。此可配置对象持有组合x轴和y周的常规选项。每个x轴和y轴都可以通过索引关联到窗格中。

var pane = {
  startAngle: -150,  // x轴或测量轴的开始度数,以度数的方式给出。0是北
  endAngle: 150      //x轴极坐标或角度轴的最终度数,以度数的方式给出。0是北
};

实例

文件名:highcharts_guage_clock.htm

<html>
<head>
<meta charset="UTF-8" />
<title>Highcharts 教程 | 菜鸟教程(runoob.com)</title>
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/highcharts-more.js"></script>
</head>
<body>
<div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div>
<script language="JavaScript">
$(document).ready(function() {  

   /**
   * 获取当前时间
   */
   function getNow() {
      var now = new Date();
      return {
         hours: now.getHours() + now.getMinutes() / 60,
         minutes: now.getMinutes() * 12 / 60 + now.getSeconds() * 12 / 3600,
         seconds: now.getSeconds() * 12 / 60
      };
   }

   /**
   * Pad numbers
   */
   function pad(number, length) {
      // Create an array of the remaining length + 1 and join it with 0‘s
      return new Array((length || 2) + 1 - String(number).length).join(0) + number;
   }

   var now = getNow();

   var chart = {
      type: ‘gauge‘,
      plotBackgroundColor: null,
      plotBackgroundImage: null,
      plotBorderWidth: 0,
      plotShadow: false,
      height: 200
   };
   var credits = {
      enabled: false
   };

   var title = {
      text: ‘Highcharts 时钟‘
   };

   var pane = {
      background: [{
         // default background
      }, {
         // reflex for supported browsers
         backgroundColor: Highcharts.svg ? {
            radialGradient: {
               cx: 0.5,
               cy: -0.4,
               r: 1.9
            },
            stops: [
               [0.5, ‘rgba(255, 255, 255, 0.2)‘],
               [0.5, ‘rgba(200, 200, 200, 0.2)‘]
            ]
         } : null
      }]
   };

   // the value axis
   var yAxis = {
      labels: {
         distance: -20
      },
      min: 0,
      max: 12,
      lineWidth: 0,
      showFirstLabel: false,
      minorTickInterval: ‘auto‘,
      minorTickWidth: 1,
      minorTickLength: 5,
      minorTickPosition: ‘inside‘,
      minorGridLineWidth: 0,
      minorTickColor: ‘#666‘,

      tickInterval: 1,
      tickWidth: 2,
      tickPosition: ‘inside‘,
      tickLength: 10,
      tickColor: ‘#666‘,
      title: {
         text: ‘Powered by<br/>Highcharts‘,
         style: {
            color: ‘#BBB‘,
            fontWeight: ‘normal‘,
            fontSize: ‘8px‘,
            lineHeight: ‘10px‘
         },
         y: 10
      }};var tooltip ={
      formatter:function(){returnthis.series.chart.tooltipText;}};var series=[{
      data:[{
         id:‘hour‘,
         y: now.hours,
         dial:{
            radius:‘60%‘,
            baseWidth:4,
            baseLength:‘95%‘,
            rearLength:0}},{
         id:‘minute‘,
         y: now.minutes,
         dial:{
            baseLength:‘95%‘,
            rearLength:0}},{
         id:‘second‘,
         y: now.seconds,
         dial:{
            radius:‘100%‘,
            baseWidth:1,
            rearLength:‘20%‘}}],
      animation:false,
      dataLabels:{
         enabled:false}}];var json ={};
   json.chart = chart;
   json.credits = credits;
   json.title = title;
   json.pane = pane;
   json.yAxis = yAxis;
   json.tooltip = tooltip;
   json.series = series;
   $(‘#container‘).highcharts(json, chartFunction);// Add some lifevar chartFunction =function(chart){
      setInterval(function(){
         now = getNow();var hour = chart.get(‘hour‘),
         minute = chart.get(‘minute‘),
         second = chart.get(‘second‘),// run animation unless we‘re wrapping around from 59 to 0
         animation = now.seconds ===0?false:{ easing:‘easeOutElastic‘};// Cache the tooltip text
         chart.tooltipText = pad(Math.floor(now.hours),2)+‘:‘+
         pad(Math.floor(now.minutes *5),2)+‘:‘+
         pad(now.seconds *5,2);

         hour.update(now.hours,true, animation);
         minute.update(now.minutes,true, animation);
         second.update(now.seconds,true, animation);},1000);};});// Extend jQuery with some easing (copied from jQuery UI)
$.extend($.easing,{
   easeOutElastic:function(x, t, b, c, d){var s=1.70158;var p=0;var a=c;if(t==0)return b;
      if((t/=d)==1)return b+c;
      if(!p) p=d*.3;if(a <Math.abs(c)){ a=c;var s=p/4;}else
         var s = p/(2*Math.PI)*Math.asin (c/a);return a*Math.pow(2,-10*t)*Math.sin((t*d-s)*(2*Math.PI)/p )+ c + b;}});</script></body></html>

尝试一下 ?

以上实例输出结果为:

Highcharts 双轴车速表


配置

chart.type 配置

配置 chart 的 type 为 ‘gauge‘ 。chart.type 描述了图表类型。默认值为 "line"。

var chart = {
   type: ‘gauge‘
};

pane 配置

pane 只适用在极坐标图和角度测量仪。此可配置对象持有组合x轴和y周的常规选项。每个x轴和y轴都可以通过索引关联到窗格中。

var pane = {
  startAngle: -150,  // x轴或测量轴的开始度数,以度数的方式给出。0是北
  endAngle: 150      //x轴极坐标或角度轴的最终度数,以度数的方式给出。0是北
};

实例

文件名:highcharts_guage_dualaxes.htm

<html>
<head>
<meta charset="UTF-8" />
<title>Highcharts 教程 | 菜鸟教程(runoob.com)</title>
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/highcharts-more.js"></script>
</head>
<body>
<div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div>
<script language="JavaScript">
$(document).ready(function() {
   var chart = {
      type: ‘gauge‘,
      plotBackgroundColor: null,
      plotBackgroundImage: null,
      plotBorderWidth: 0,
      plotShadow: false    
   };
   var credits = {
      enabled: false
   };

   var title = {
      text: ‘双轴车速表‘
   };

   var pane = {
      startAngle: -150,
      endAngle: 150
   };

   // the value axis
   var yAxis = [{
      min: 0,
      max: 200,
      lineColor: ‘#339‘,
      tickColor: ‘#339‘,
      minorTickColor: ‘#339‘,
      offset: -25,
      lineWidth: 2,
      labels: {
         distance: -20,
         rotation: ‘auto‘
      },
      tickLength: 5,
      minorTickLength: 5,
      endOnTick: false
   }, {
      min: 0,
      max: 124,
      tickPosition: ‘outside‘,
      lineColor: ‘#933‘,
      lineWidth: 2,
      minorTickPosition: ‘outside‘,
      tickColor: ‘#933‘,
      minorTickColor: ‘#933‘,
      tickLength: 5,
      minorTickLength: 5,
      labels: {
         distance: 12,
         rotation: ‘auto‘
      },
      offset: -20,
      endOnTick: false
   }];

   var series= [{
      name: ‘Speed‘,
      data: [80],
      dataLabels: {
         formatter: function () {
            var kmh = this.y,
            mph = Math.round(kmh * 0.621);
            return ‘<span style="color:#339">‘ + kmh + ‘ km/h</span><br/>‘ +
               ‘<span style="color:#933">‘ + mph + ‘ mph</span>‘;
         },
         backgroundColor: {
            linearGradient: {
               x1: 0,
               y1: 0,
               x2: 0,
               y2: 1
            },
            stops: [
               [0, ‘#DDD‘],
               [1, ‘#FFF‘]
            ]
         }
      },
      tooltip: {
         valueSuffix: ‘ km/h‘
      }
   }];     

   var json = {};
   json.chart = chart;
   json.credits = credits;
   json.title = title;
   json.pane = pane;
   json.yAxis = yAxis;
   json.series = series;      

   // Add some life
   var chartFunction = function (chart) {
      setInterval(function () {
         var point = chart.series[0].points[0],
         newVal,
         inc = Math.round((Math.random() - 0.5) * 20);

         newVal = point.y + inc;
         if (newVal < 0 || newVal > 200) {
            newVal = point.y - inc;
         }
         point.update(newVal);
      }, 3000);
   };

   $(‘#container‘).highcharts(json, chartFunction);
});
</script>
</body>
</html>

尝试一下 ?

以上实例输出结果为:

Highcharts 音量表(VU Meter)


配置

chart.type 配置

配置 chart 的 type 为 ‘gauge‘ 。chart.type 描述了图表类型。默认值为 "line"。

var chart = {
   type: ‘gauge‘
};

pane 配置

pane 只适用在极坐标图和角度测量仪。此可配置对象持有组合x轴和y周的常规选项。每个x轴和y轴都可以通过索引关联到窗格中。

var pane = {
  startAngle: -150,  // x轴或测量轴的开始度数,以度数的方式给出。0是北
  endAngle: 150      //x轴极坐标或角度轴的最终度数,以度数的方式给出。0是北
};

实例

文件名:highcharts_vumeter.htm

<html>
<head>
<meta charset="UTF-8" />
<title>Highcharts 教程 | 菜鸟教程(runoob.com)</title>
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/highcharts-more.js"></script>
</head>
<body>
<div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div>
<script language="JavaScript">
$(document).ready(function() {
   var chart = {
      type: ‘gauge‘,
      plotBorderWidth: 1,
      plotBackgroundColor: {
         linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
         stops: [
            [0, ‘#FFF4C6‘],
            [0.3, ‘#FFFFFF‘],
            [1, ‘#FFF4C6‘]
         ]
      },
      plotBackgroundImage: null,
      height: 200
   };
   var credits = {
      enabled: false
   };

   var title = {
      text: ‘音量表(VU Meter)‘
   };

   var pane = [{
         startAngle: -45,
         endAngle: 45,
         background: null,
         center: [‘25%‘, ‘145%‘],
         size: 300
      }, {
         startAngle: -45,
         endAngle: 45,
         background: null,
         center: [‘75%‘, ‘145%‘],
         size: 300
   }];

   var yAxis = [{
         min: -20,
         max: 6,
         minorTickPosition: ‘outside‘,
         tickPosition: ‘outside‘,
         labels: {
            rotation: ‘auto‘,
            distance: 20
         },
         plotBands: [{
            from: 0,
            to: 6,
            color: ‘#C02316‘,
            innerRadius: ‘100%‘,
            outerRadius: ‘105%‘
         }],
         pane: 0,
         title: {
            text: ‘VU<br/><span style="font-size:8px">Channel A</span>‘,
            y: -40
         }
      }, {
         min: -20,
         max: 6,
         minorTickPosition: ‘outside‘,
         tickPosition: ‘outside‘,
         labels: {
            rotation: ‘auto‘,
            distance: 20
         },
         plotBands: [{
            from: 0,
            to: 6,
            color: ‘#C02316‘,
            innerRadius: ‘100%‘,
            outerRadius: ‘105%‘
         }],
         pane: 1,
         title: {
            text: ‘VU<br/><span style="font-size:8px">Channel B</span>‘,
            y: -40
         }
   }];

   var plotOptions = {
      gauge: {
            dataLabels: {
            enabled: false
         },
         dial: {
            radius: ‘100%‘
         }
      }
   };
   var series= [{
        data: [-20],
        yAxis: 0
     },{
        data:[-20],
        yAxis:1}];var json ={};
   json.chart = chart;
   json.credits = credits;
   json.title = title;
   json.pane = pane;
   json.yAxis = yAxis;
   json.plotOptions = plotOptions;
   json.series = series;// Add some lifevar chartFunction =function(chart){
      setInterval(function(){if(chart.series){// the chart may be destroyedvar left = chart.series[0].points[0],
            right = chart.series[1].points[0],
            leftVal,
            rightVal,
            inc =(Math.random()-0.5)*3;

            leftVal =  left.y + inc;
            rightVal = leftVal + inc /3;if(leftVal <-20|| leftVal >6){
               leftVal = left.y - inc;}if(rightVal <-20|| rightVal >6){
               rightVal = leftVal;}

            left.update(leftVal,false);
            right.update(rightVal,false);
            chart.redraw();}},500);};

   $(‘#container‘).highcharts(json, chartFunction);});</script></body></html>

尝试一下 ?

以上实例输出结果为:

时间: 2024-10-04 09:39:38

Highcharts 测量图;Highcharts 圆形进度条式测量图;Highcharts 时钟;Highcharts 双轴车速表;Highcharts 音量表(VU Meter)的相关文章

Android自定义View——圆形进度条式按钮

介绍 今天上班的时候有个哥们问我怎么去实现一个按钮式的进度条,先来看看他需要实现的效果图. 和普通的圆形进度条类似,只是中间的地方有两个状态表示,未开始,暂停状态.而且他说圆形进度的功能已经实现了.那么我们只需要对中间的两个状态做处理就行了. 先来看看实现的效果图: 上面说了我们只需要处理中间状态的变化就可以了,对于进度的处理直接使用了弘洋文章中实现: http://blog.csdn.net/lmj623565791/article/details/43371299 下面开始具体实现. 具体实

Android 高手进阶之自定义View,自定义属性(带进度的圆形进度条)

转载请注明地址:http://blog.csdn.net/xiaanming/article/details/10298163 很多的时候,系统自带的View满足不了我们功能的需求,那么我们就需要自己来自定义一个能满足我们需求的View,自定义View我们需要先继承View,添加类的构造方法,重写父类View的一些方法,例如onDraw,为了我们自定义的View在一个项目中能够重用,有时候我们需要自定义其属性,举个很简单的例子,我在项目中的多个界面使用我自定义的View,每个界面该自定义View

CAShapeLayer实现圆形进度条效果

一.CAShapeLayer简介: 1.CAShapeLayer继承至CALayer,可以使用CALayer的所有属性值 2.CAShapeLayer需要与贝塞尔曲线配合使用才有意义 3.使用CAShapeLayer与贝塞尔曲线可以实现不在view的drawRect方法中画出一些想要的图形 4.CAShapeLayer属于CoreAnimation框架,其动画渲染直接提交到手机的GPU当中,相较于view的drawRect方法使用CPU渲染而言,其效率极高,能大大优化内存使用情况 五角星动画 #

Android 带进度的圆形进度条

extends:http://blog.csdn.net/xiaanming/article/details/10298163 转载请注明地址:http://blog.csdn.net/xiaanming/article/details/10298163 很多的时候,系统自带的View满足不了我们功能的需求,那么我们就需要自己来自定义一个能满足我们需求的View,自定义View我们需要先继承View,添加类的构造方法,重写父类View的一些方法,例如onDraw,为了我们自定义的View在一个项

【Android 应用开发】 自定义 View 组件 -- 圆形进度条

转载著名出处 : http://blog.csdn.net/shulianghan/article/details/40351487 代码下载 : -- CSDN 下载地址 : http://download.csdn.net/detail/han1202012/8069497 ; -- GitHub 地址 : https://github.com/han1202012/CircleProcess.git ; -- 工程示例 : 一. 相关知识点解析 1. 自定义 View 组件构造方法 构造方

Android自定义控件系列之应用篇——圆形进度条

一.概述 在上一篇博文中,我们给大家介绍了Android自定义控件系列的基础篇.链接:http://www.cnblogs.com/jerehedu/p/4360066.html 这一篇博文中,我们将在基础篇的基础上,再通过重写ondraw()方法和自定义属性实现圆形进度条,效果如图所示: 二.实现步骤   1.  编写自定义组件MyCircleProgress扩展View public class MyCircleProgress extends View { - } 2.  在MyCircl

【Android进度条】三种方式实现自定义圆形进度条ProgressBar

一.通过动画实现 定义res/anim/loading.xml如下: [html] view plaincopyprint? <?xml version="1.0" encoding="UTF-8"?> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> &

自定义圆形进度条 自定义倒计时进度条

自定义圆形进度条 自定义倒计时进度条 版权声明:转载必须注明本文转自严振杰的博客: http://blog.csdn.net/yanzhenjie1003 此控件源码已开源到Github:https://github.com/yanzhenjie/CircleTextProgressbar,欢迎Star. 欢迎加入我博客左侧的QQ交流群一起探讨. 效果预览 源代码传送门:https://github.com/yanzhenjie/CircleTextProgressbar 实现与原理 这个文字圆

Android 高手进阶,自定义圆形进度条

背景介绍 在Android 开发中,我们经常遇到各种各样绚丽的控件,所以,依靠我们Android本身所带的控件是远远不够的,很多时候需要我们自己定义控件,在开发的过程中,我们公司遇到了一种需要自己写的一个自定义带进度的圆形进度条,看起来非常的绚丽,当然还有一些其他的,比如:水纹形的圆形进度条等效果都是非常nice的.如果哪位朋友有实现,希望分享出来,我也好学习学习.好了多的不说,接下来,我们就来看看来如何实现圆形进度条. 原文地址:http://blog.csdn.net/xiaanming/a