精华内容
下载资源
问答
  • 看网上看了好多,但是都有些复杂,就根据别人都现成的简化改装了一个 简单思路 ...先创建个Point弄个矩形并设置在seekbar顶部 //设置画笔 mPaint = new Paint(); mPaint.setAntiAlias(true); mPa...

    看网上看了好多,但是都有些复杂,就根据别人都现成的简化改装了一个

    简单思路

    自定义个矩形区域用来计算所需大小然后根据位置来写入文字

    效果图

     

    先创建个Point 弄个矩形并设置在seekbar顶部

            //设置画笔
            mPaint = new Paint();
            mPaint.setAntiAlias(true);
            mPaint.setColor(mTextColor);
            mPaint.setTextSize(mTextSize);
    
            //设置SeekBar顶部数值文字预留空间,左右为数值背景图片的一半,顶部为数值背景图片高度加五的间隔
            setPadding((int) Math.ceil(mBgWidth) / 2, (int) Math.ceil(mBgHeight) + 5, (int) Math.ceil(mBgWidth) / 2, 0);
    

    计算SeekBar数值文字的显示位置 

        /** * 计算SeekBar数值文字的显示位置 */
        private void getTextLocation() {
           // Paint.FontMetrics fm = mPaint.getFontMetrics();
            mText = ""+getProgress();
            //测量文字宽度
            mTextWidth = mPaint.measureText(mText);
            //计算文字基线Y坐标
            mTextBaseLineY = mBgHeight ;/// 2 - fm.descent + (fm.descent - fm.ascent) / 2
        }

    重点是绘制方法,计算text的位置,然后绘制。 bgx就是根据控件的宽和进度在获取的 

        @Override
        protected synchronized void onDraw(Canvas canvas) {
            super.onDraw(canvas);
    
            getTextLocation();
            Rect bgRect = getProgressDrawable().getBounds();
            //计算数值背景X坐标
            float bgX = bgRect.width() * getProgress() / getMax();
            //计算数值文字X坐标
            float textX = bgX + (mBgWidth - mTextWidth) / 2;
            canvas.drawText(mText, textX, mTextBaseLineY, mPaint);
      }

    注:其中的width和height,自己设置根据需求自己设置就可以。

    展开全文
  • 垂直seekbar,thumb居中

    2015-01-30 12:13:10
    附件是垂直seekbar的两种实现一种继承Seekbar,另一种继承AbsSeekbar 注意: 1.如果thumb显示布局中,是因为seekbar宽度太小。 2.继承Seekbar比继承AbsSeekbar的效果要好很多。 ...

    附件是垂直seekbar的两种实现一种继承Seekbar,另一种继承AbsSeekbar

    注意:

    1.如果thumb显示布局中,是因为seekbar宽度太小。

    2.继承Seekbar比继承AbsSeekbar的效果要好很多。

    展开全文
  • SeekBar

    2019-01-09 23:31:26
    SeekBar继承自ProgressBar,所以也继承了它的属性设置,上面介绍的一些属性在SeekBar中都可以用到。因为SeekBar涉及到一个滑块的概念,所以新增了属性android:thumb来通过设置一个Drawable对象,指定自定义滑块的...

     SeekBar继承自ProgressBar,所以也继承了它的属性设置,上面介绍的一些属性在SeekBar中都可以用到。因为SeekBar涉及到一个滑块的概念,所以新增了属性android:thumb来通过设置一个Drawable对象,指定自定义滑块的外观,当然如果不设定也可以默认使用Android自带的风格。

      当用户按住滑块进行滑动的时候,会触发一个SeekBar.OnSeekBarChangeListener事件,这是一个接口,需要开发人员实现三个方法:

    • onProgressChanged(SeekBar seekBar,int progress,boolean fromUser):滑块在移动的时候响应。seekBar为触发事件的SeekBar控件,progress为当前SeekBar的滑块数值,fromUser为是否用户拖动产生的响应。
    • onStartTrackingTouch(SeekBar seekBar):滑块开始移动的时候响应。
    • onStopTrackingTouch(SeekBar seekBar):滑块结束移动的时候相应。

     

     

     

    在MainActiviity给SeekBar注册监听器并具体实现三个方法,对应滑块三个状态,其中onProgressChanged()方法会返回当前进度progress数值使之显示在第一个文本框。

     

    样式

     

    展开全文
  • Android自带的SeekBar是水平的,要垂直的,必须自己写一个类,继承SeekBar。 一个简单的垂直SeekBar的例子: (但是它其实是存在一些问题的。不过要是满足基本需要还是可以凑合的) package ...
  • Seekbar实现不可拖动

    2020-08-24 19:02:50
    创建一个java类继承SeekBar 写onTouchEvent 然后return false 1. 代码 public class SeekBarCustom extends SeekBar { public SeekBarCustom(Context context) { super(context); } public SeekBarCustom...

    创建一个java类继承SeekBar 写onTouchEvent 然后return false

    1. 代码

    public class SeekBarCustom extends SeekBar {
        public SeekBarCustom(Context context) {
            super(context);
        }
    
        public SeekBarCustom(Context context, AttributeSet attrs) {
            super(context, attrs);
        }
    
        public SeekBarCustom(Context context, AttributeSet attrs, int defStyleAttr) {
            super(context, attrs, defStyleAttr);
        }
    
        @Override
        public boolean onTouchEvent(MotionEvent event) {
            return false;
        }
    }
    

    2.布局引用

    <com.www.ttt.widget.seek.SeekBarCustom
                android:id="@+id/listening_seekbar"
                android:layout_width="230dp"
                android:layout_height="wrap_content"
                android:layout_below="@+id/listening_topic_tv"
                android:layout_marginTop="30dp"
                android:layout_toEndOf="@+id/listening_audio_iv"
                style="@style/CustomSeekbarStyle"
                android:max="100"
                android:progress="0" />
    
    展开全文
  • 之前项目中由于滑块功能需要的SeekBar继承自AppCompatSeekBar,发现坑还是蛮多的,所以自己简单撸了一个。 想法很简单:判断view的touch事件,move事件时候绘制滑块按钮和进度 。然后分别在down move up事件中...
  • Android 垂直SeekBar

    2013-04-08 17:29:00
     Android自带的SeekBar是水平的,要垂直的,必须自己写一个类,继承SeekBar。 一个简单的垂直SeekBar的例子:  (但是它其实是存在一些问题的。不过要是满足基本需要还是可以凑合的) package ...
  • 自定义竖直seekbar

    千次阅读 2013-07-11 11:40:36
    Android中的进度条控件,如seekbar,默认是水平的。当需要竖直的seekbar时,可通过两种方式获得: 1、在布局属性中使用android:rotation="-90",使其自身...2、继承seekbar,重写相关方法,实现自定义的竖直seekbar,
  • 最近接了个项目其中有需要要实现此功能:seekbar需要显示最左和...实现方案这里是通过继承seekbar来自定义控件,这样的方式最快。主要难点在于进度的显示,其实我很的是最笨的方法,就是用了一个popwindow显示在进度...
  • seekbar使用4

    2015-03-11 11:12:27
    android三档自定义滑动开关,禁止点击功能的实现,普通...今天尝试用系统组件seekbar实现自定义风格的滑动条,但禁止点击和判断滑动不到指定范围返回花了不少时间,网上基本上都说用继承seekbar修改里面的方法实现,但
  • Seekbar滑块上添加文字

    千次阅读 2016-12-21 15:59:37
    主要是继承SeekBar重新绘制滑块,在滑块上添加绘制文本,代码如下: public class TextThumbSeekBar extends SeekBar { private int mThumbSize;//绘制滑块宽度 private TextPaint mTextPaint;//绘制文本的...
  • 原始的seekbar只有滑动条并没有下方的提示文字,所以我们必须要继承Seekbar重写这个控件。 代码: 在values文件夹下新建attrs.xml,用于设置跟随滑动按钮的文字大小,颜色,背景。 <attr name=textcolor ...
  • Seekbar拖动条上文字显示的实现

    千次阅读 2019-08-07 18:57:39
    如果需要仅仅是个文字显示的话 可以看看这个Seekbar进度条上文字显示 继承seekbar的简单实现 结合KBubbleSeekBar实现 在github上有 原本的样例效果 KBubbleSeekBar的简单分析 是在BubbleSeekBar的基础上...
  • 这里是通过继承seekbar来自定义控件,这样的方式最快。主要难点在于进度的显示,其实我很的是最笨的方法,就是用了一个popwindow显示在进度条的上方,然后在移动滑块的时候实时的改变它显示的横坐标。看进度显示的...
  • 原始的seekbar只有滑动条并没有下方的提示文字,所以我们必须要继承Seekbar重写这个控件。 代码: 在values文件夹下新建attrs.xml,用于设置跟随滑动按钮的文字大小,颜色,背景。 &lt;declare-styleable ...
  • 进度条seekbar

    2014-12-16 18:55:25
    一、SeekBar SeekBar是一种特殊的进度条,其与ProgressBar的区别在于,...SeekBar继承关系如下: java.lang.Object ->android.view.View  ->android.widget.ProgressBar  ->android.widget.AbsSeekBar  
  • 最近要弄个播放器,但是SeekBar没有断断续续的效果都是连续的进度。...1.继承SeekBar自定义类中重写onDraw(Canvas canvas)方法 绘制进度条 protected synchronized void onDraw(Canvas canvas) { if(progr
  • 先上效果图思路:原始的seekbar只有滑动条并没有下方的提示文字,所以我们必须要继承Seekbar重写这个控件。代码:在values文件夹下新建attrs.xml,用于设置跟随滑动按钮的文字大小,颜色,背景。 <attr name="te
  • 自定义了个seekbar,将横向的seekbar改为了竖向的seekbar,目前只支持触摸,但是用遥控器控制时候按上下按钮没响应,按下左右按钮seekbar才会被拖动 追了下代码seekbar继承自AbsSeekbar,AbsSeekBar继承自progressBar...
  • android本身提供的progressBar...楼主最近在做电视上的设置项目,需要用到各种各样的propressBar和seekBar,横着的,竖着的,样式千奇百怪,实在是很蛋疼,最后自己继承自View写了一个比较统一且样式设置灵活的prog...
  • 自定义环形Seekbar

    2015-01-18 13:19:16
    自定义环形Seekbar,CircleSeekBar继承View通过重写onDraw、onMeasure以及onTouchEvent实现绘制和响应滑动事件的功能。
  • android三档自定义滑动开关,禁止点击功能的实现,...今 天尝试用系统组件seekbar实现自定义风格的滑动条,但禁止点击和判断滑动不到指定范围返回花了不少时间,网上基本上都说用继承seekbar修改里 面的方法实现,但...
  • android三档自定义滑动开关,禁止点击功能的...今天尝试用系统组件seekbar实现自定义风格的滑动条,但禁止点击和判断滑动不到指定范围返回花了不少时间,网上基本上都说用继承seekbar修改里面的方法实现,但整了半天...
  • seekBar属性详解

    千次阅读 2016-04-13 17:40:10
    什么是seekBar空间,seekBar控件其实就是一个高级点的...seekBar继承了ProgressBar,因此ProgressBar所支持的xml属性和方法都适用于seekBarSeekBar的属性和常用方法等 属性 android:max 设置进度条范围最大值 an
  • android 本身只有一个水平的 seekbar,开发需要使用垂直的seekbar就只能自己实现了,好在可以直接继承水平seekbar,修改几个重载事件即可。onDraw事件中旋转画布,由水平变垂直。measure事件中重新计算控件尺寸,...
  • 一、由于android只定义了横着的SeekBar,所以竖着的SeekBar要由我们自己自定义,现在我来谈谈我自己自定义竖着的SeekBar的做法竖着的SeekBar有分方向向上和向下,不过代码的区别不是很大,下面会细讲。步骤:1、首先...
  • 自定义seekbar详解

    千次阅读 2016-05-06 16:40:55
    自定义view之seekbar本文简介:在github上找了不少seekbar,有些库具备相当复杂的功能,所以我想自己写一个简单易用的seekbar。本文主要讲述为什么要自定义view,自定义view的大体步骤,编写重难点。1、为什么要...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 197
精华内容 78
关键字:

继承seekbar