代码之家  ›  专栏  ›  技术社区  ›  Julian A.

如何让Android SeekBar的拇指与SeekBar的高度相匹配?

  •  2
  • Julian A.  · 技术社区  · 14 年前

    我需要实现一个定制的拇指画?

    2 回复  |  直到 8 年前
        1
  •  4
  •   Julian A.    14 年前

    通过一些挖掘,我发现了如何提供一个定制的可画拇指。这里有一个节选可以帮助其他人。

      ShapeDrawable thumb = new ShapeDrawable( new RectShape() );
      thumb.getPaint().setColor( 0x00FF00 );
      thumb.setIntrinsicHeight( 80 );
      thumb.setIntrinsicWidth( 30 );
      mySeekBar.setThumb( thumb );
    
        2
  •  2
  •   RJ M    12 年前

    这是一篇老文章,但我是从谷歌找到的。所以我的解决方案是:

    Drawable thumb; //load this earlier.
    
    @Override
    protected void onFinishInflate() {
        super.onFinishInflate();
        thumb = getContext().getResources().getDrawable(R.drawable.slider_thumb);
    }
    
    private void expandThumb(int height) {
        thumb.setBounds(0, 0, thumb.getIntrinsicWidth(), height); 
        //force a redraw
        int progress = getProgress();
        setProgress(0);
        setProgress(progress);
    }
    
    @Override
    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
        super.onSizeChanged(w, h, oldw, oldh);
        expandThumb(h);
    }