SeekBar Volume隐藏设置最大音量的滑块

时间:2011-10-27 23:53:59

标签: android xml layout seekbar

我以这种方式在xml中定义了一个搜索栏:

                                   .
                                   .
                                   .
<SeekBar android:layout_height="wrap_content" android:id="@+id/seekVolume"
        android:layout_width="match_parent"
        android:layout_marginTop="20dp"
        android:layout_marginLeft="30dp"
        android:layout_marginRight="30dp">
</SeekBar>
                                   .
                                   .
                                   .

在活动中我设置了搜索栏以这种方式控制音量:

bar = (SeekBar)findViewById(R.id.seekVolume);
    am = (AudioManager)c.getSystemService(Context.AUDIO_SERVICE);
    int maxVolume = am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
    int curVolume = am.getStreamVolume(AudioManager.STREAM_MUSIC);
    bar.setMax(maxVolume);
    bar.setProgress(curVolume);
    bar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
        @Override
        public void onStopTrackingTouch(SeekBar arg0) {}
        @Override
        public void onStartTrackingTouch(SeekBar arg0) {}
        @Override
        public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {
            am.setStreamVolume(AudioManager.STREAM_MUSIC, arg1*2, 0);
        }
    });

当我设置了搜索栏最大音量时,我的问题就出现了,所以在搜索栏的末尾设置滑块。滑块将被切割。我说得更好:滑块的一部分将从布局的末尾隐藏。我该怎么办?

编辑:

这些是截图:

this is slider in original dimension And this is slider in seekbar max

2 个答案:

答案 0 :(得分:4)

让我们假设您的拇指图像(拖动的内容)的宽度为10 dp。 然后你应该设置一个宽度的一半的偏移和填充,如下所示:

android:thumbOffset="5dp" 
android:paddingRight="5dp" 
android:paddingLeft="5dp"

答案 1 :(得分:2)

尝试给它一些填充:

android:padding="5px"