Progressbar进度条和SeekBar拖动条的简单使用

来源:互联网 发布:python 输入ctrl c 编辑:程序博客网 时间:2024/05/01 09:22

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点击打开链接

0 0