控件 -- SeekBar

一、概念

在Android开发中,拖动条常常用于对系统某种数值的设置,例如播放视频和音量等都会用到拖动条SeekBar。SeekBar和进度条十分相似,只是拖动条可以通过滑动块的位置来标志数值,并且允许用户拖动滑动块来改变值。

二、使用

1.属性

● style="@android:style/Widget.SeekBar" 指定seekbar的样式;
● android:max="200" 指定seekbar的最大值为200,默认是100;
● android:progress="75"指定seekbar的当前值为75,也可以通过代码设置,如:seekBar.setProgress(75);
● android:thumb 设置seekbar的滑动块样式;
● android:progressDrawable 设置seekbar的进度条的样式。

2.拖动监听

onSeekBarChangeListener

3.样式

style="@android:style/Widget.SeekBar"
style="@android:style/Widget.DeviceDefault.SeekBar"
style="@android:style/Widget.Holo.SeekBar"

4.自定义样式

//Activity
public class MainActivity extends AppCompatActivity {
    private SeekBar seekBar;
    private TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        seekBar = (SeekBar) findViewById(R.id.progress);
        textView = (TextView) findViewById(R.id.text1);
        seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                // 当拖动条的滑块位置发生改变时触发该方法,在这里直接使用参数progress,即当前滑块代表的进度值
                textView.setText("Value:" + Integer.toString(progress));
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
                Log.e("------------", "开始滑动!");
            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
                Log.e("------------", "停止滑动!");
            }
        });
    }

}

//activity_main.xml



    

    


//layer_progress.xml


    
        
            
            
        
    
    
        
            
                
                
            
        
    
    
        
            
                
                
            
        
    


//shape_circle.xml


    
    
    
    
    
    

你可能感兴趣的:(控件 -- SeekBar)