2012-05-16 50 views
2

我有一个SeekBarPreference,我想处理它的应用程序的量。我在xml中创建了SeekBarPreference,但我不知道我应该在java类中编写什么来配置它。SeekBar偏好更改量

请帮我配置SeekBarPreference来控制应用程序的音量。 谢谢!

回答

3
import android.app.Activity; 

import android.content.Context; 

import android.media.AudioManager; 

import android.os.Bundle; 

import android.widget.SeekBar; 

import android.widget.SeekBar.OnSeekBarChangeListener; 

public class MainActivity extends Activity 
{ 

    /** Called when the activity is first created. */ 

    private SeekBar volumeSeekbar = null; 
    private AudioManager audioManager = null; 

    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setVolumeControlStream(AudioManager.STREAM_MUSIC); 
     setContentView(R.layout.main); 
     initControls(); 
    } 

    private void initControls() 
    { 
     try 
     { 
      volumeSeekbar = (SeekBar)findViewById(R.id.seekBar1); 
      audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 
      volumeSeekbar.setMax(audioManager 
        .getStreamMaxVolume(AudioManager.STREAM_MUSIC)); 
      volumeSeekbar.setProgress(audioManager 
        .getStreamVolume(AudioManager.STREAM_MUSIC)); 


      volumeSeekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() 
      { 
       @Override 
       public void onStopTrackingTouch(SeekBar arg0) 
       { 
       } 

       @Override 
       public void onStartTrackingTouch(SeekBar arg0) 
       { 
       } 

       @Override 
       public void onProgressChanged(SeekBar arg0, int progress, boolean arg2) 
       { 
        audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 
          progress, 0); 
       } 
      }); 
     } 
     catch (Exception e) 
     { 
      e.printStackTrace(); 
     } 
    } 
+1

不错的一个答案。 –