SeekBar 设置圆角和滑块并且滑块高度和seebar高度一样

首先看下效果

SeekBar 设置圆角和滑块并且滑块高度和seebar高度一样_第1张图片

1,android:splitTrack="false" 滑块背景透明

2,android:thumbOffset="0dp" 不让滑块超出 seebar宽度

3,progressDrawable 资源



    
        
            
            
        
    
    
        
            
                
            
        
    
    
    
        
            
                
                
            
        
    

4,布局文件

android:maxHeight 为了使得seebar高度充满 设置的宽高

5,动态设置二级进度使进度和滑块位置匹配

float width=getResources().getDimension(R.dimen.slider_width);
float height=getResources().getDimension(R.dimen.slider_height);
int oneProgressDp=(int) (width/100);
mSliderR =height/2*1.0f/oneProgressDp;
mSecondProgress= (int) (100-mSliderR*2);
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
    @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean b) {
        seekBar.setSecondaryProgress((int) (mSliderR+mSecondProgress*1.0/100*progress));
    }

    @Override public void onStartTrackingTouch(SeekBar seekBar) {

    }

    @Override public void onStopTrackingTouch(SeekBar seekBar) {

    }
});

你可能感兴趣的:(android,java,开发语言)