本文实例为大家分享了Android SeekBar实现平滑滚动的具体代码,供大家参考,具体内容如下
由于项目需要,SeekBar只需要三个档,但是如果只设置三个档会很难滑,看着也不好看,于是我将其设置为100,然后自动滑到0,50,100的位置
大部分代码还是跟之前一样,只是把max改为100,progress改为50
<SeekBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
android:thumb="@drawable/device_control_yellow_mid_img_40"
android:maxHeight="8dp"
android:progress="50"
android:progressDrawable="@drawable/seek_style"
android:id="@+id/id_seek_bar"
android:layout_marginTop="100dp"
/>
然后
public class MainActivity extends Activity implements SeekBar.OnSeekBarChangeListener{
private int quota;//当前滑动到的值
//我的习惯,在Activity后面implements点击事件,然后在类中处理
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
quota=i;
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
mTextView.setText("按下SeekBar ");
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
mTextView.setText("松开SeekBar ");
setSeekBar(quota);
}
private void setSeekBar(int i){
if (i<33){
mTextView2.setText("低温");
Drawable drawable=getResources().getDrawable(R.drawable.green_low_img_40);
mSeekBar.setThumb(drawable);
mSeekBar.setProgress(1);
}else
if (i>66){
mTextView2.setText("高温");
Drawable drawable2=getResources().getDrawable(R.drawable.red_high_img_40);
mSeekBar.setThumb(drawable2);
mSeekBar.setProgress(99);
}else {
mTextView2.setText("中温");
Drawable drawable1=getResources().getDrawable(R.drawable.yellow_mid_img_40);
mSeekBar.setThumb(drawable1);
mSeekBar.setProgress(50);
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。