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);
}
说明一下:gcorelabs的俄罗斯远东机房“伯力”既有“Virtual servers”也有“CLOUD SERVICES”,前者是VPS,后者是云服务器,不是一回事;由于平日大家习惯把VPS和云服务器当做一回事儿,所以这里要特别说明一下。本次测评的是gcorelabs的cloud,也就是云服务器。 官方网站:https://gcorelabs.com 支持:数字加密货币、信用卡、PayPal...
819云是我们的老熟人了,服务器一直都是稳定为主,老板人也很好,这次给大家带来了新活动,十分给力 香港CN2 日本CN2 物理机 E5 16G 1T 20M 3IP 240元0官方网站:https://www.819yun.com/ 特惠专员Q:442379204套餐介绍套餐CPU内存硬盘带宽IP价格香港CN2 (特价)E5 随机分配16G1T 机械20M3IP240元/月日本CN2 (...
香港最便宜的vps要多少钱?最便宜的香港vps能用吗?香港vps无需备案,整体性能好,而且租用价格便宜,使用灵活,因为备受站长喜爱。无论是个人还是企业建站,都比较倾向于选择香港VPS。最便宜的香港vps能用吗?正因为有着诸多租用优势,香港VPS在业内颇受欢迎,租用需求量也在日益攀升。那么,对于新手用户来说,香港最便宜的vps租用有四大要点是务必要注意的,还有易探云香港vps租用最便宜的月付仅18元...
seekbar为你推荐
ico监管ICO为什么被叫停excel大写金额EXCEL金额大写无处不在的意思,幸福无处不在,最适合才是最好是什么意思网站客服代码请问怎么在网页里面加入在线客服系统的代码,代码要怎么获得?腾讯合作伙伴大会如何成为腾讯渠道合作伙伴?怎么查微信注册时间微信号用了多久,怎么知道backupexec怎样在vmware vcenter上安装backup exec agent for windows100days英文的一百天怎么说微盟价格为什么这么多人用微盟,微盟都有哪些优势如何查看qq特别关心我的人怎么在QQ里查看自己有没有被设为特别关心?
合租服务器 美国和欧洲vps linuxvps flashfxp怎么用 windows主机 好看的桌面背景大图 主机合租 本网站在美国维护 警告本网站美国保护 赞助 速度云 免费dns解析 paypal注册教程 in域名 服务器是干什么用的 空间登录首页 hdsky 重庆联通服务器托管 hdchina 空间排行榜 更多