ProgressBar
提供了两种进度显示模式,分别是具有进度值的精确模式和不具有进度值的模糊模式 xz
1.style属性:设置ProgressBar的样式
2.横向进度条(可以是模糊也可以是精确,取决于indeterminate属性)
Widget.ProgressBar.Horizontal
3.中间带圆形的精度条(模糊模式)
Widget.ProgressBar
4.小号的圆形进度条(模糊模式)
Widget.ProgressBar.Small
5. android:max="100"定义进度的最大值
6.android:progress="20"设置默认进度
7.android:secondaryProgress="30"设置第二层进度条的初始值(用于精确模式)
一级进度是播放的进度,二级进度是缓存的进度
ProgressBar中一些常用的方法
setProgress(int) 设置第一进度
setSecondaryProgress(int) 设置第二进度
getProgress() 获取第一进度
getSecondaryProgress() 获取第二进度
incrementProgress(int) 增加或减少第一进度
incrementSecondaryProgress(int) 增加或减少第二进度
getMax() 获取最大进度
SeekBar
1. android:thumb 设置滑块的图样
2. android:progressDrawable 设置进度条的图样
<!--android:thumb="@mipmap/ic_gou"设置滑块的图样,可以是图形也可以是图片--> <!--android:progressDrawable="@mipmap/ic_e"设置滚动条的样式,可以是图形也可以是图片-->
SeekBar事件监听
sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { //拖动的进度 @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { Log.i("hh",progress+""); } //开始拖动 @Override public void onStartTrackingTouch(SeekBar seekBar) { Toast.makeText(MainActivity.this, "开始拖动", Toast.LENGTH_SHORT).show(); } //结束拖动 @Override public void onStopTrackingTouch(SeekBar seekBar) { Toast.makeText(MainActivity.this, "结束拖动", Toast.LENGTH_SHORT).show(); } });
给SeekBar设置图形(在res_drawable中创建xml)
设置进度条
<?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="#ccc"></solid> </shape> </item> <!--一级进度--> <item android:id="@android:id/progress"> <clip> <shape> <solid android:color="#4945F3"></solid> </shape> </clip> </item> <!--二级进度--> <item android:id="@android:id/secondaryProgress"> <clip> <shape> <solid android:color="#3AFA25"></solid> </shape> </clip> </item> </layer-list>
设置滑动按钮
<?xml version="1.0" encoding="utf-8"?> <shape android:shape="oval" xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#3AFA25"/> <size android:height="25dp" android:width="25dp"/> <!--android:shape="oval"形状为椭圆--> <!--<solid android:color="@color/colorAccent"/>填充内部颜色--> <!-- <size android:height="5dp" android:width="5dp"/>圖形的大小--> </shape>
再把布局那边设置一下
<SeekBar android:id="@+id/sb" android:layout_width="match_parent" android:layout_height="wrap_content" android:thumb="@drawable/huadong" android:progressDrawable="@drawable/cengci" android:secondaryProgress="30" />
效果(可能会有点丑)