Android自定义控件之-圆形进度条 先上图: 填充的 环形的 贴代码不废话: ** CircleProgressBar.java ** package com.xiaolei.xiaoui; import...android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas; import...android.graphics.Color; import android.graphics.Paint; import android.graphics.RectF; import android.util.AttributeSet...--未走的进度的颜色--> <!
近日有朋友问我有没有如下图效果的开源控件 ?...相信大家无论是用IOS还是Android,都对这种效果不陌生,很多主流APP都会有这样或类似的效果,之前也打算研究一下这类控件的代码,苦于一直不知道应该怎么搜索这种效果(就是关键词)或者所搜的结果不是自己想要的...-onMeasure onMeasure是自定义控件的第一步,目的就是测量得到该控件应该占有的宽高尺寸。...android.graphics.*; import android.util.AttributeSet; import android.util.TypedValue; import android.view.View...(自定义控件、Activity,布局文件)下载地址: Android圆形进度CircleProgressBar 以上就是本文的全部内容,希望对大家的学习有所帮助。
二、方法 1)进度条ProgressBar使用方法 1、在layout布局文件中创建ProgressBar控件 <ProgressBar style="?...点击增加<em>进度</em>按钮: ? 点击减少<em>进度</em>按钮: ?...OnClickListener{ /* * <em>进度</em>条ProgressBar使用方法 * 1、在layout布局文件中创建ProgressBar<em>控件</em> * 2、用ProgressBar...对象指向ProgressBar<em>控件</em> * 3、通过ProgressBar对象的getProgress()和setProgress()方法对<em>进度</em>进行修改 * */ private Button...<em>android</em>:layout_width="wrap_content" android:layout_height="wrap_content" android:text="减少进度"
通过自定义view实现了一个水滴滴落到水波面,溅起水花并且水波流动上涨的进度条控件。...之前看到过好多水波流动的进度条,感觉欠缺些东西,就想到了水滴到水平面,溅起水花然后水流动上涨的进度条效果,于是自己动手写了出来。效果如下,视频录制有些卡顿,实际会流畅很多。 ?...android:id="@+id/wave_progress_view" android:layout_width="300dp" android:layout_height="300dp..." android:layout_centerInParent="true" app:circleColor="#e38854" app:progress="0" app:waterColor...="#5488e3" / 2.WaveProgressView.setProgress()方法设置当前的进度 二.本文实现的逻辑 1,画水波流动,通过三阶贝塞尔曲线画波形,通过不断的改变waveOffsetX
WebProgress 一款Android WebView进度条显示控件,使其加载进度平滑过渡。 GitHub地址:WebProgress Gif Preview ?...演示图 gif可能有点卡,可下载使用此控件的WebView项目查看:网页浏览器 Use 建议直接将类拷贝到项目中:WebProgress xml文件引入: <me.jingbin.library.WebProgress...android:id="@+id/progress" android:layout_width="match_parent" android:layout_height...设置颜色 mProgress.setColor("#00D81B60","#D81B60"); // 设置渐变色 mProgress.hide(); // 隐藏 in WebView 显示进度条...优化处: 1.增加能显示进度渐变色 2.修复progress同时返回两次100时进度条出现两次 3.当一条进度没跑完,又点击其他链接开始第二次进度时,第二次进度不出现 4.修改消失动画时长,使其消失时可以看到进度跑完
1.进度条 主要用来进行数据读写、文件拷贝和磁盘格式等操作时的工作进度提示情况,如安装程序等,伴随工作进度的进展,进度条的矩形区域从左到右利用当前活动窗体标题条的颜色来不断填充。...2.进度条控制在MFC类库中的封装类为CProgressCtrl,通常仅作为输出类控制,所以其操作主要是设置进度条的范围和当前位置,并不断地更新当前位置。...进度条的范围用来表示整个操作过程的时间长度,当前位置表示完毕情况的当前时刻。...假设范围或位置发生变化,那么进度条将自己主动重绘进度区域来及时反映当前工作的进展情况。...: DWORD dwSize = recv()//先接收文件的大小; m_ProgressCtrl.SetRange32(0, nSize); //设置进度条的范围 DWORD dwRecv =
本文实例为大家分享了Android实现圆形进度条动画的具体代码,供大家参考,具体内容如下 首先贴上图片: ?...额,感觉还行吧,就是进度条的颜色丑了点,不过咱是程序员,不是美工,配色这种问题当然不在考虑范围之内了。 下面说重点,如何来写一个这样的自定义控件。...首先,需要有一个灰色的底图,来作为未填充时的进度条; 然后,根据传入的当前进度值,绘制填充时的进度圆弧,这段圆弧所对应的圆心角,由当前进度与进度的最大值(一般是100)的比值计算得出; 其次,根据进度值绘制文字提示...; 最后,重绘控件,加上动画,从而达到显示进度的效果。...protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {// 分别获取期望的宽度和高度,并取其中较小的尺寸作为该控件的宽和高
目标:自定义一个带文字带进度的控件,具体内容如下 效果图: ? 不啰嗦先看东西: ?
WebProgress 一款Android WebView进度条显示控件,使其加载进度平滑过渡。...GitHub地址:WebProgress Gif Preview [演示图] gif可能有点卡,可下载使用此控件的WebView项目查看:网页浏览器 Use 建议直接将类拷贝到项目中:WebProgress...xml文件引入: <me.jingbin.library.WebProgress android:id="@+id/progress" android:layout_width...="match_parent" android:layout_height="2dp" /> 显示处理: mProgress.show(); // 显示 mProgress.setWebProgress...优化处: 1.增加能显示进度渐变色 2.修复progress同时返回两次100时进度条出现两次 3.当一条进度没跑完,又点击其他链接开始第二次进度时,第二次进度不出现 4.修改消失动画时长,使其消失时可以看到进度跑完
本文实例为大家分享了Android实现水平圆点加载进度条的具体代码,供大家参考,具体内容如下 先来看看要实现的效果 ? ?...; import android.graphics.Canvas; import android.graphics.Paint; import android.support.annotation.Nullable...; import android.support.v4.content.ContextCompat; import android.util.AttributeSet; import android.util.Log...} Log.e("DotPollingView", "dot current radius change: " + mDotCurrentRadiusChange); //第一个圆点的圆心x坐标计算:控件宽度的一半减去...mDotTotalCount * mDotRadius * 2 + ((mDotTotalCount - 1) * mDotSpacing)) / 2 + mDotRadius; //所有圆点的圆心y坐标一致控件高度的一半
程序功能:点击按键 进度条前进到满格。...(一)初始化 // TODO: 在此添加额外的初始化代码 m_progress.SetRange32(0,100);//设置进度条最小和最大值 按键函数入口 双击按键 (二)按键函数 void...CMFCday5ADlg::OnBnClickedButton1() { // TODO: 在此添加控件通知处理程序代码 SetTimer(1,100,NULL);//设置定时器1,每次计时...nPos=m_progress.GetPos();//获得进度条当前的值 nPos++;//在定时器中每100毫秒加1 if(nPos>=nMax)//如果进度值大于或者等于最大值 {...KillTimer(1);//关闭计时器1 nPos=0;//进度条归零 GetDlgItem(IDC_BUTTON1)->EnableWindow(TRUE);//按键使能 }
:https://github.com/billreiss/xamlnative/tree/master/XamarinForms/CircularProgress 最近作者需要做一个简单的圆形的等待控件在一个...看起来很容易做,不知道怎么微软就没有弄个这么好看,微软没有,我们来直接做,看起来这个很简单 原来的进度条是一个线,没有UWP那个ring,我要做一个,可以使用本地控制、自定义渲染器渲染、使用组件里面弄很多我之前做的...我想到简单使用两图,实际对称两图是表示4图,不停覆盖的两个图片表示进度,两个图片颜色不同 ? ?...set { SetValue(ProgressProperty, value); } } } } 我们需要把图片放在不同平台的文件夹,ios放在Resources文件夹,Android...放在 AndroidResource 我们把控件放MainPage.xaml <?
MFC控件编程进度条编写 一丶进度条编程需要用到的方法 进度条MFC已经帮我们封装好类了. 叫做 CProgressCtrl 进度条编程也很简单....GetPos() 获取进度条位置 SetPos() 设置位置. GetRange(Value,Value) 获取进度条的最大跟最小的值. 等等.具体可以查询MSDN ?...EnableWindow(TRUE or FALSE) 使控件可点击根不可点击. 二丶MFC中进度条的控件编程. 对于MFC控件编程.我们绑定一个变量. 初始化的时候设置最大跟最小值....: 在此添加控件通知处理程序代码 SetTimer(1, 100,NULL); //设置100毫秒一次.ID为1 GetDlgItem(IDC_BUTTON1)->EnableWindow...nPos = m_pro.GetPos(); //获取当前进度条位置 if (nPos >= nMax) //当前位置 > 100.也就是进度条的位置.
——《道德经》 原生安卓实现的进度条 package com.example.uidemo.activity; import androidx.appcompat.app.AppCompatActivity...; import android.os.Bundle; import android.view.View; import android.widget.ProgressBar; import android.widget.SeekBar.../android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com...:id="@+id/linearLayout1" android:layout_width="match_parent" android:...app:layout_constraintTop_toBottomOf="@id/linearLayout2" android:text="1.滑动下面的滑杆后,上面的进度条同步
我们在上一篇文章《Android绘图之Paint的使用》中学习了Paint的基本用法,但是具体的应用我们还没有实践过。从标题中可知,本文是带领读者使用Paint,自定义一个进度条控件。 效果图 ?...实现过程 既然是自定义控件,本文的该控件是直接继承View,然后重写View的onMeasure和onDraw方法来实现。其中onMeasure主要作用是测量控件的宽/高。...onDraw绘制流程:先绘制一个默认的大圆环,然后在圆中心绘制百分比的文本,最后再绘制一个进度圆环,进度圆环会覆盖底部的默认大圆环,这样就达到显示进度的情况。...<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com...100); } catch (InterruptedException e) { e.printStackTrace(); } } } }).start(); } }); } } 这样就完成了一个自定义的进度条控件
冒个泡 , 发一个刚做的声音波动的View吧 : 代码不多 , 没什么技术含量 , 权当给您省时间了 , 直接复制粘贴就能用 , 直接上代码: SoundWavesView /** * 语音通话的声波控件...private int mSoundNum = 5; // 声波的数量 private int mSpac; // 每条声波的中点 private int mWidth , mHeight; // 控件宽高
本文实例为大家分享了Android实现圆形进度条的具体代码,供大家参考,具体内容如下 实现的效果图如下所示: ? ?...绘制下方有缺口的空心圆,称为外围大弧吧 anvas.clipRect(0, 0, mWidth, mHeight / 2 + radius - textHeight * 3 / 4); 第二步:计算绘制圆弧进度条时的起始角度...,设置为外围大弧的左端点为进度值得起点,扫过的角度所占外围大弧的百分比就是进度值 第三步:绘制数字、文字、百分号 第四步:使用Handler Runnable 和DecelerateInterpolator...是进度条和数字动起来 测试代码: final CustomCircleBar circle=(CustomCircleBar)findViewById(R.id.win_home); circle.setPercent...*/ /*保存画布,绘制进度条*/ canvas.save(); /*clipRect:该方法用于裁剪画布,也就是设置画布的显示区域 调用clipRect()方法后,只会显示被裁剪的区域,之外的区域将不会显示
打开游戏或者其他一些软件时,时常会看到刚开始时有一个进度条在加载,有点酷炫的感觉。对于MFC进度条的使用,下面用一个案例介绍一下。...案例:进度条单步加载和自动连续加载 步骤: 1.按下图在对话框中添加一个进度条,一个编辑框,和3个按钮,并为进度条添加一个控件变量 进度条变量:m_Progress 2.在初始化函数中对进度条进行初始化...m_Progress.SetPos(1); //设置进度条默认初始进度 CString str; int nPos = m_Progress.GetPos(); // 获取进度条的当前位置...); GetDlgItem(IDC_EDIT_Progress)->SetWindowText(str + _T("%"));//显示进度条进度 } 自动加载 按钮: //定时器:控制进度条自动加载...1); } 运行起来,点击单步加载,进度条将按照每步为5的长度进行加载 点击自动加载,进度条将按照每步为5的长度进行自动连续加载,直到按下停止加载按钮才会停止加载。
本文实例实现一个如下图所示的Android自定义控件,可以直观地展示某个球队在某个赛季的积分数和胜场、负场、平局数 ?...首先对画布进行区域划分,整个控件分上下两部分 上边是个大的圆环,圆环中间两行文字,没什么难度,选好圆心坐标和半径后直接绘制即可,绘制文字也是如此。...下部分是三个小的圆弧进度条,弧的末端绘制一个小的实心圆 首先选好坐标和半径,然后先绘制三个圆环作为弧形进度条的背景 之后从12点钟开始绘制进度弧,知道了圆环的圆心和半径,也知道了弧对应于12点钟和圆环圆心的偏移角度...通过三角函数可以计算出进度弧终点坐标,以进度弧终点坐标为圆心绘制一个小的实心圆即可 动画效果通过Handler的postDelayed方法触发重绘即可实现 在项目中的效果如图所示: ?...R.attr.maintextclor_reverse,typedValue1,true); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); /*获取控件总的宽高
平台:VS2013 内容介绍:创建进度条控件Progress Control控件并给它颜色的设置。...在VC6.0里头可以直接用SendMessage函数就可以设置颜色了,但是在VS里头是不行的,要对进度条进行重绘。...第一步:创建一个基于对话框的工程,并在对话框中拖动一个进度条控件,把属性smooth设置为True。Vertical属性是False的话就是水平。如果是True的话就是垂直增长的。
领取专属 10元无门槛券
手把手带您无忧上云