Android SeekBar实现平滑滚动

2021-04-07 0 914

本文实例为大家分享了Android SeekBar实现平滑滚动的具体代码,供大家参考,具体内容如下

由于项目需要,SeekBar只需要三个档,但是如果只设置三个档会很难滑,看着也不好看,于是我将其设置为100,然后自动滑到0,50,100的位置

Android SeekBar实现平滑滚动

大部分代码还是跟之前一样,只是把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);

  }
 }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。

遇见资源网 Android Android SeekBar实现平滑滚动 http://www.ox520.com/24004.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务