Progressbar的Progress和Background颜色可以通过自定义Drawable的形式来实现.
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<solid android:color="@color/black"/>
</shape>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<solid android:color="@color/colorPrimary"/>
</shape>
</clip>
</item>
</layer-list>
需要注意三个点: 1. item属性对象的id,background对应"android:background",progress对应"android:progress". 2. shape属性生效的前提是在progress的shape的外面加一个"clip"的标签,而secondProgress则不能加"clip"标签. 3. 在布局里通过android:progressDrawable来调用Drawable文件. 4.seekbar用法和ProgressBar大致是一样的,不过seekbar额外享有一个android:thumb属性,就是控制进度的按钮.
更新ProgressBar进度用到的方法: 1. setMax(int max):设置ProgressBar总长度,比如视频长度. 2. setProgress(int progress):设置ProgressBar游标所处的位置. 更新Progress我们一般是放在单独的线程里
//监听播放器进度变化
new Thread(){
@Override
public void run() {
super.run();
while(isplaying){
editProgressview.setProgress(videoPlayer.getCurrentPosition());
BaseDef.sleep(1000);
}
}
}.start();