如何在Android中使用Seekbar作为一个seekBar以及一个progressBar同时?

如何在Android中使用Seekbar作为一个seekBar以及一个progressBar同时?,第1张

概述我打算为我的应用程序编写一个自定义媒体控制器.我正在计划用seekbar来寻求和表现进步.试图实现这一点. 有没有人有这样的实现或我错误的路径? 最后我想出来了! 我想出的解决方案是这样的: 首先,将搜索栏的最大进度设置为视频的持续时间 videoView.setOnPreparedListener(new OnPreparedListener() { @Override 我打算为我的应用程序编写一个自定义媒体控制器.我正在计划用seekbar来寻求和表现进步.试图实现这一点.

有没有人有这样的实现或我错误的路径?

解决方法 最后我想出来了!

我想出的解决方案是这样的:

首先,将搜索栏的最大进度设置为视频的持续时间

vIDeoVIEw.setonPreparedListener(new OnPreparedListener() {        @OverrIDe        public voID onPrepared(MediaPlayer mp) {            seekbar.setMax(vIDeoVIEw.getDuration());            seekbar.postDelayed(onEverySecond,1000);        }    });

这个runnable将继续更新进度条:

private Runnable onEverySecond=new Runnable() {    @OverrIDe    public voID run() {        if(seekbar != null) {            seekbar.setProgress(vIDeoVIEw.getCurrentposition());        }        if(vIDeoVIEw.isPlaying()) {            seekbar.postDelayed(onEverySecond,1000);        }    }};

然后,用于seekbar的setonSeekbarchangelistener可以用于使用户在媒体上查找.通过使用fromUser布尔值,我们可以确定是否由于用户的交互或回调

seekbar.setonSeekbarchangelistener(new OnSeekbarchangelistener() {        @OverrIDe        public voID onStopTrackingtouch(Seekbar seekbar) {        }        @OverrIDe        public voID onStartTrackingtouch(Seekbar seekbar) {        }        @OverrIDe        public voID onProgressChanged(Seekbar seekbar,int progress,boolean fromUser) {            if(fromUser) {                // this is when actually seekbar has been seeked to a new position                vIDeoVIEw.seekTo(progress);            }        }    });
总结

以上是内存溢出为你收集整理的如何在Android中使用Seekbar作为一个seekBar以及一个progressBar同时?全部内容,希望文章能够帮你解决如何在Android中使用Seekbar作为一个seekBar以及一个progressBar同时?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1133069.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存