Android seekbar实现可拖动进度条

本文实例为大家分享了Android seekbar实现可拖动进度条的具体代码,供大家参考,具体内容如下

SeekBar通过滑块的位置来标识数值 允许用户通过拖动滑块来改变进度值的大小

控件:SeekBar
           两个TextView 显示状态

实现SeekBar.OnSeekBarChangeListener接口 对事件进行监听

xml文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical">

 <SeekBar
   android:id="@+id/seekBar"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:max="100"
   android:progress="50" />

 <TextView
   android:id="@+id/tv1"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
    />

 <TextView
   android:id="@+id/tv2"
   android:layout_width="match_parent"
   android:layout_height="wrap_content" />

</LinearLayout>

MainActivity:

package com.example.lenovo.seekbar;

import android.app.Activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.SeekBar;
import android.widget.TextView;

public class MainActivity extends Activity implements SeekBar.OnSeekBarChangeListener {

  private SeekBar seekBar;
  private TextView tv1;
  private TextView tv2;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    tv1=findViewById(R.id.tv1);
    tv2=findViewById(R.id.tv2);
    seekBar=findViewById(R.id.seekBar);
    //设置监听器 监听数值改变情况
    seekBar.setOnSeekBarChangeListener(this);
  }
  //数值改变
  @Override
  public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
    tv1.setText("正在拖动");
    tv2.setText("当前数值:"+progress);
  }
  //开始拖动
  @Override
  public void onStartTrackingTouch(SeekBar seekBar) {
    tv1.setText("开始拖动");
  }
  //停止拖动
  @Override
  public void onStopTrackingTouch(SeekBar seekBar) {
    tv1.setText("停止拖动");
  }
}

效果图:

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

时间: 2021-01-26

Android自定义垂直拖动seekbar进度条

Android自带的SeekBar是水平的,要垂直的,必须自己写一个类,继承SeekBar. 一个简单的垂直SeekBar的例子: (但是它其实是存在一些问题的.不过要是满足基本需要还是可以凑合的) package com.example.helloverticalseekbar; import android.content.Context; import android.graphics.Canvas; import android.util.AttributeSet; import and

Android自定义带水滴的进度条样式(带渐变色效果)

一.直接看效果 二.直接上代码 1.自定义控件部分 package com.susan.project.myapplication; import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.grap

Android自定义View实现圆环进度条

本文实例为大家分享了Android自定义View实现圆环进度条的具体代码,供大家参考,具体内容如下 效果展示 动画效果 View实现 1.底层圆环是灰色背景 2.上层圆环是红色背景 3.使用动画画一条弧线 View /** * 圆环进度条 */ public class RoundProgressBar extends View { //绘制矩形区域 private RectF rectF; //起始角度 private float startAngle; //扫过角度 private floa

android自定义等级评分圆形进度条

本文实例为大家分享了android评分圆形进度条的具体代码,供大家参考,具体内容如下 一.测试截图 二.实现原理 package com.freedomanlib; import java.util.Timer; import java.util.TimerTask; import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Canvas; import andr

Android自定义view实现水波进度条控件

通过自定义view实现了一个水滴滴落到水波面,溅起水花并且水波流动上涨的进度条控件.之前看到过好多水波流动的进度条,感觉欠缺些东西,就想到了水滴到水平面,溅起水花然后水流动上涨的进度条效果,于是自己动手写了出来.效果如下,视频录制有些卡顿,实际会流畅很多. 一.用法 1.布局文件中添加WaveProgressView,circleColor属性为圆环颜色,waterColor属性为水波水滴的颜色,progress属性为初始的进度 <com.yhongm.wave_progress_view.Wa

Android自定义View之圆形进度条式按钮

介绍 今天上班的时候有个哥们问我怎么去实现一个按钮式的进度条,先来看看他需要实现的效果图. 和普通的圆形进度条类似,只是中间的地方有两个状态表示,未开始,暂停状态.而且他说圆形进度的功能已经实现了.那么我们只需要对中间的两个状态做处理就行了. 先来看看实现的效果图: 上面说了我们只需要处理中间状态的变化就可以了,对于进度的处理直接使用了弘洋文章中实现: http://blog.csdn.net/lmj623565791/article/details/43371299 下面开始具体实现. 具体实

Android自定义漂亮的圆形进度条

这几天对Android中实现画圆弧及圆弧效果中所实现的效果进行了修改,改为进度圆心进度条,效果如图所示 TasksCompletedView.java 代码如下 import android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.RectF; impo

Android自定义View实现环形进度条的思路与实例

前言 前段时间看到了豆瓣FM的音乐播放界面,有一个环形的进度条,非常的好看,于是想了想,为什么不自己做一个呢,于是就开始了自定义的过程 豆瓣FM的播放界面如下图: 功能分析 虽然功能比较简单,但是仍然需要仔细分析 1.图标外还有一圈圆圈,可以设置宽度 2.圆形进度条和进度条底部,可以设置宽度,颜色等 3.内部有一个圆形图片,可旋转 实现思路分析 1.可以设置宽度的圆圈 这个比较容易,直接在onDraw方法中使用canvas绘制即可,当然,在间距和半径的处理上需要仔细,控件本体其实还是一个长方形,

Android自定义View实现渐变色进度条

在网上看到一个进度条效果图,非常美观,如下: 进行效果分解: 1.渐变色,看起来颜色变化并不复杂,使用LinearGradient应该可以实现. 2.圆头,无非是画两个圆,外圆使用渐变色的颜色,内圆固定为白色. 3.灰底,还没有走到的进度部分为灰色. 4.进度值,使用文本来显示: 5.弧形的头部,考虑使用直线进行连接,或者使用曲线,例如贝塞尔曲线: 我首先初步实现了进度条的模样,发现样子有了,却不太美观. 反思了一下,我只是个写代码的,对于哪种比例比较美观,是没有清晰的认识的,所以,还是参考原图

android自定义view制作圆形进度条效果

还是我们自定View的那几个步骤: 1.自定义View的属性 2.在View的构造方法中获得我们自定义的属性 [ 3.重写onMesure ] 4.重写onDraw 1.自定义属性: <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="CustomTitleView"> <attr name="m