seekbar如何实现弧形的进度条或SeekBar
seekbar 时间:2021-06-16 阅读:(
)
在android的音乐播放器中用到的seekBar控件怎么用
int position = mediaPlayer.getCurrentPosition();
int total = mediaPlayer.getDuration();
int max = seekBar.getMax();
if (position>=0&&total!=0) {
seekBar.setProgress(position*max/total);
}
这是随着播放更新进度条的,拖动视频和这个差不多。
不懂追问。
怎么得到seekbar进度的位置
seekbar.setOnSeekBarChangeListener(new seekbarListener()); //这个监听seekbar变化的,一旦有变,变化到哪progress表示 private class seekbarListener implements OnSeekBarChangeListener{ @Override public void onProgressChangedandroid seekbar 单击事件
1.先把你的xml文件写好
2.用这个代码:
SeekBar fSlider = (SeekBar) findViewById(R.id.songProgressBar);
fSlider.setProgress(0); // 这个很重要
OnSeekBarChangeListener progressListener = new OnSeekBarChangeListener() {
public void TrackingTouch(SeekBar seekBar) { }
public void onStartTrackingTouch(SeekBar seekBar) { }
public void onProgressChanged(SeekBar seekBar,
int progress,
boolean fromUser) {
if(fromUser)
//做一些事;
}
};
fSlider.setOnSeekBarChangeListener(progressListener);如何实现弧形的进度条或SeekBar
[Android UI界面]如何实现弧形的进度条或SeekBar? 转载
public MusicSeekbar(Context context, AttributeSet attrs)
{
super(context, attrs);
mContext = context;
mPaint.setAntiAlias(true);
mPaint.setFilterBitmap(true);
mPaint.setStrokeWidth(4);
mPaint.setColor(getResources().getColor(R.color.music_seekbar));
mPaint.setStyle(Style.STROKE);
mBitmapDot = BitmapFactory.decodeResource(getResources(),
R.drawable.ui_music_dot);
// if(mThread==null)
// {
// mThread=new Thread(new myThread());
// mThread.start();
// }
mPaintText.setAntiAlias(true);
mPaintText.setStyle(Style.STROKE);
mPaintText.setStrokeWidth(1);
// conn=new MediaPlayerServiceConnection(mContext);
// init();
}
protected void onDraw(Canvas canvas) {
mLeft = (float) (Centre_X - RADIUS
* Math.cos((90 - mSeekBarTotalDegree / 2 + mDegree) / 180
* Math.PI));
mTop = (float) (Centre_Y - RADIUS
* Math.sin((90 - mSeekBarTotalDegree / 2 + mDegree) / 180
* Math.PI));
Shader mLinearGradient = new LinearGradient(mLeft - 80, 100, mLeft,
100, new int[] {
getResources().getColor(R.color.music_seekbar),
getResources().getColor(R.color.music_seekbar1) },
null, Shader.TileMode.CLAMP);
mPaint.setShader(mLinearGradient);
canvas.drawArc(mRect, mStartDegree, mDegree, false, mPaint);
canvas.drawBitmap(mBitmapDot, mLeft - 20, mTop - 20, new Paint());
canvas.save();
canvas.rotate(-22, Centre_X, Centre_Y);
mPaintText.setColor(getResources().getColor(R.color.music_seekbar));
canvas.drawText(formatTime(mCurTime), 150, 0, mPaintText);
canvas.restore();
canvas.save();
canvas.rotate(20, Centre_X, Centre_Y);
mPaintText.setColor(Color.WHITE);
canvas.drawText(formatTime(mDuration), 150, 0, mPaintText);
canvas.restore();
super.onDraw(canvas);
}
VirMach,成立于2014年的美国IDC商家,知名的低价便宜VPS销售商,支持支付宝、微信、PayPal等方式付款购买,主打美国、欧洲暑假中心产品,拥有包括洛杉矶、西雅图、圣何塞、凤凰城在内的11个数据中心可以选择,可以自由搭配1Gbps、2Gbps、10Gbps带宽端口,有Voxility DDoS高防IP可以选择(500Gbps以上的防御能力),并且支持在控制面板付费切换机房和更换IP(带...
Digital-vm是一家成立于2019年的国外主机商,商家提供VPS和独立服务器租用业务,其中VPS基于KVM架构,提供1-10Gbps带宽,数据中心可选包括美国洛杉矶、日本、新加坡、挪威、西班牙、丹麦、荷兰、英国等8个地区机房;除了VPS主机外,商家还提供日本、新加坡独立服务器,同样可选1-10Gbps带宽,最低每月仅80美元起。下面列出两款独立服务器配置信息。配置一 $80/月CPU:E3-...
hostodo怎么样?快到了7月4日美国独立日,hostodo现在推出了VPS大促销活动,提供4款Hostodo美国独立日活动便宜VPS,相当于7折,低至$13/年,续费同价。Hostodo美国独立日活动结束时间不定,活动机售完即止。Hostodo商家支持加密数字货币、信用卡、PayPal、支付宝、银联等付款。Hostodo美国独立日活动VPS基于KVM虚拟,NVMe阵列,1Gbps带宽,自带一个...
seekbar为你推荐
c语言论坛有什么专门交流C语言的大论坛或社区?scriptmanagerScriptManager是什么webservice框架WebService新手,请教WebService需要什么包particular教程如何用AE做出花瓣从身体变出来的特效aviconverter介绍一个好用的免费的avi转换器windows7中文语言包windows7英文改中文 windows英文版怎么安装中文语言包手机在线客服怎么才能联系到腾讯人工客服卡发短信为什么我的手机卡不能发短信camel是什么意思cantorp与骆驼是什么关系,想买一双骆驼鞋,分不清cantorp和camel骆驼是什么关系yy语音注册歪歪语音如何安装与注册?
免费域名空间申请 鲁诺vps 免费动态域名解析 已备案域名出售 域名商 raksmart 监控宝 搜狗抢票助手 免费网络电视 申请个人网页 绍兴高防 vip购优惠 umax120 东莞服务器 网购分享 秒杀品 广州虚拟主机 免费asp空间申请 网页加速 学生机 更多