Progressbar是进度条对话框,其展示形式可以是圆形的,展示时是不断的转圈,还有一种是水平的,可以显示出进度,当使用时必须规定其展示样式。
样式:
@android:style/Widget.Progressbar.Hoizontal:水平进度条
@android:style/Widget.Progressbar.Inverse:普通大小的环形进度条
@android:style/Widget.Progressbar.Large:大环形进度条
@android:style/Widget.Progressbar.Large.inverse:大环形进度条
@android:style/Widget.Progressbar.Small:小环形进度条
@android:style/Widget.Progressbar.Small.Inverse:小环形进度条
设置轨道样式
android:ProgressDrawable指定轨道的样式,可以指定一个LayerDrawable对象(可以在drawable中创建<Layer-list>其中规定轨道背景和进度背景)
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 定义轨道的背景 -->
<item
android:id="@android:id/background"
android:drawable="@drawable/ic_launcher">
</item>
<!-- 定义已完成的部分的样式 -->
<item
android:id="@android:id/progress"
android:drawable="@drawable/three">
</item>
</layer-list>
<ProgressBar
android:id="@+id/bar2"
style="@android:style/Widget.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
android:progressDrawable="@drawable/my_bar" />
标题上的进度条
不需要使用Progressbar就可以显示进度条,这种方式中显示进度的进度条的最大值是10000。
(1) 调用Activity的requestWindowFeature()方法, requestWindowFeature(Window.FEATURE_PROGRESS);//设置窗口特征,启用显示进度的进度条//
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);//设置窗口特征,启用不显示进度的进度条
(2) 调用Activity的setProgressBarIndeterminateVisibility(false);或setProgressBarVisibility(false);设置进度条显示或隐藏
拖动条和进度条十分相似,只是拖动条是需要用户手动拖动来改变进度的值的,我们可以获取拖动后的进度值。拖动条多用于渐变调整。
(1) 添加SeekBatr控件
(2) 设置Thumb属性,规定其移动图标
(3) 拿到控件设置setOnSeekBarChangeListener设置监听
tiaozheng=(SeekBar) findViewById(R.id.tiaozheng);
tiaozheng.setThumb(getResources().getDrawable(R.drawable.one));
tiaozheng.setOnSeekBarChangeListener(newSeekBar.OnSeekBarChangeListener() {
@Override
publicvoid onStopTrackingTouch(SeekBar seekBar) {
}
@Override
publicvoid onStartTrackingTouch(SeekBar seekBar) {
}
@Override
publicvoid onProgressChanged(SeekBar seekBar, int progress,
booleanfromUser) {
show.setImageAlpha(progress*10);
}
});
实现例子:http://pan.baidu.com/s/1boK1WV9点击打开链接
http://pan.baidu.com/s/1hsc8BRm点击打开链接