Android SeekBar是一个可以用来表示一定范围内的进度的组件。它通常用于音量调节、亮度调节、进度显示等功能的实现。setOnSeekBarChangeListener是SeekBar中的一个回调方法,用于监听SeekBar的变化,当SeekBar的值发生变化时,会回调SeekBar.OnSeekBarChangeListener中的相应方法。

setOnSeekBarChangeListener方法的参数是一个SeekBar.OnSeekBarChangeListener类型的对象,该对象中包含了三个方法:

  1. onProgressChanged方法:当SeekBar的进度发生变化时就会调用这个方法。在这个方法中,我们可以获取SeekBar的当前进度值,并通过这个值来实现一些业务逻辑。

  2. onStartTrackingTouch方法:当用户开始拖动SeekBar时就会调用这个方法。在这个方法中,我们可以实现一些UI上的交互效果,比如显示一些提示信息。

  3. onStopTrackingTouch方法:当用户停止拖动SeekBar时就会调用这个方法。在这个方法中,我们可以保存SeekBar的当前进度值,比如将当前进度值保存到SharedPreferences中。

示例代码:

SeekBar seekBar = findViewById(R.id.seek_bar);
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
     @Override
     public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
         // 进度变化时的操作
     @Override
     public void onStartTrackingTouch(SeekBar seekBar) {
         // 开始拖动时的操作
     @Override
     public void onStopTrackingTouch(SeekBar seekBar) {
         // 停止拖动时的操作

在以上代码中,我们通过setOnSeekBarChangeListener方法给SeekBar添加了一个监听器。当SeekBar的进度发生变化时,onProgressChanged方法就会被回调,我们可以在这个方法中获取SeekBar的当前进度值,并进行一些相应的操作。同理,当用户开始拖动SeekBar时,onStartTrackingTouch方法就会被回调;当用户停止拖动SeekBar时,onStopTrackingTouch方法就会被回调。

当SeekBar的进度发生变化时,onProgressChanged方法就会被回调,我们可以在这个方法中获取SeekBar的当前进度值,并进行一些相应的操作。setOnSeekBarChangeListener是SeekBar中的一个回调方法,用于监听SeekBar的变化,当SeekBar的值发生变化时,会回调SeekBar.OnSeekBarChangeListener中的相应方法。在这个方法中,我们可以保存SeekBar的当前进度值,比如将当前进度值保存到SharedPreferences中。 player.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { // TODO Auto-generated method stub if(currentPlayMusicNum<musicList.size()){ currentPlayMusicNum+=1; }else{ currentPlayMusicNum=0; musicStart(currentPlayMusicNum); lvShowMusicList.setOnItemClickListener(new OnItemClickListener() { @SuppressLint("ResourceAsColor") @Override public void onItemClick(AdapterView parent, View view, int position, long id) { if(saveView==view){ saveView.setBackgroundResource(R.color.nocolor); currentPlayMusicNum=0; else{ if(saveView!=null) saveView.setBackgroundResource(R.color.nocolor); view.setBackgroundResource(R.color.colorblue); saveView=view; currentPlayMusicNum=position; musicStart(currentPlayMusicNum); //id_this=position; sb.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub @Override public void onStartTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { // TODO Auto-generated method stub if(fromUser){ sb.setProgress(progress); //musicPause(); MusicModel music=musicList.get(currentPlayMusicNum); music.setPlayTime(music.getAllTime()*progress/100); //pausePosition=(int) (music.getAllTime()*progress/100); player.seekTo((int) music.getPlayTime()); player.start();
public static interface SeekBar.OnSeekBarChangeListener android.widget.SeekBar.OnSeekBarChangeListener 当进度改变后用于通知客户端的回调函数。这包括用户通过手势、方向键或轨迹球触发的改变, 以及编程触发的改变。 公共方法        private SeekBar pb; public static int currentSongIndex = 0; private boolean isShuffle = false; private boolean isRepeat = false; public static final int player=1; public static final int playlist=2; public static final int settings=3; public static int ViewState=0; public ImageView pl; public ArrayList<HashMap<String, Object>> songList = new ArrayList<HashMap<String, Object>>(); public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_layout); final TabHost th = (TabHost) findViewById(R.id.tabhost); bt_Next = (ImageButton) findViewById(R.id.next); bt_Play = (ImageButton) findViewById(R.id.play); bt_Previous = (ImageButton) findViewById(R.id.previous); bt_Repeat=(ImageButton)findViewById(R.id.repeat); bt_Shuffle=(ImageButton)findViewById(R.id.shuffle); pl=(ImageView)findViewById(R.id.imageView1); pl.setAlpha(100); SongTitle=(TextView)findViewById(R.id.songTitle); songCurrentDurationLabel=(TextView)findViewById(R.id.currentTime); songTotalDurationLabel=(TextView)findViewById(R.id.totalTime); pb = (SeekBar) findViewById(R.id.seekbar); mp = new MediaPlayer(); SongManager sm = new SongManager(); utils = new Utilities(); pb.setOnSeekBarChangeListener(this); mp.setOnCompletionListener(this); songList = sm.getSongList(); playSong(0); // set the tabhost view th.setup(); th.addTab(th.newTabSpec("tab1") .setIndicator("歌曲", getResources().getDrawable(R.drawable.bg0)) .setContent(R.id.ll_0)); th.addTab(th .newTabSpec("tab2") .setIndicator("播放列表", getResources().getDrawable(R.drawable.bg1)) .setContent(R.id.ll_1)); th.addTab(th.newTabSpec("tab3") .setIndicator("设置", getResources().getDrawable(R.drawable.bg1)) .setContent(R.id.ll_2)); // put the data from sdcard into list ListAdapter adapter = new SimpleAdapter(this, getData(), R.layout.list_item, new String[] { "songTitle","songTime" }, new int[] { R.id.songTitle ,R.id.songTime}); setListAdapter(adapter); ListView lv = getListView(); // listening to single listitem click lv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { currentSongIndex = position; playSong(currentSongIndex); th.setCurrentTab(0); ViewState=player;
本源码主要是学习SeekBar、ProgressBar用法,拖动条与进度条结合,当拖动拖动条的时候,ProgressBar跟随着变化,普通拖拉条被拉动的处理代码:   SeekBar sb=(SeekBar)this.findViewById(R.id.SeekBar01);   sb.setOnSeekBarChangeListener(   new SeekBar.OnSeekBarChangeListener(){   public void onProgressChanged(SeekBar seekBar, int progress,    boolean fromUser) {    ProgressBar pb=(ProgressBar)findViewById(R.id.ProgressBar01);    SeekBar sb=(SeekBar)findViewById(R.id.SeekBar01);    pb.setProgress(sb.getProgress());   }   public void onStartTrackingTouch(SeekBar seekBar) { }   public void onStopTrackingTouch(SeekBar seekBar) { }   }
拖动条与进度条类似,所不同的是,拖动条允许用户拖动滑块来改变值,通常用于实现对某种数值的调节。例如,美图秀秀中的调整相片亮度的界面(如图 5.23 所示),以及在一键清理大师的设置界面中设置延迟时间和摇晃灵敏度的拖动条(如图 5.24 所示),都应用了拖动条。 基本语法: <SeekBar android:layout_height="wrap_content" android:id="@+id/seekBar1" android:layout_width="match_paren
1.SeekBar 是一个可以拖动的控件 seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser)
SeekBar seekBar = findViewById(R.id.mySeekBar); // 获取SeekBar seekBar.setMax(100); // 设置最大值 seekBar.setProgress(50); // 设置当前进度 在这个示例中,SeekBar的最大值被设置为100,当前进度被设置为50。注意,SeekBar的最大值必须先被设置,然后才能设置进度。 uaoanlao: Intent intent = new Intent(Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION); startActivity(intent); 这个代码进去还得自己找软件 建议用这个 Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION); intent.setData(Uri.parse("package:"+MainActivity.this.getPackageName())); startActivity(intent); Android HBanner 图片视频混合轮播 源代码我设置的0积分,应该是可以直接下载的吧 Android HBanner 图片视频混合轮播 什么下载码?