在自定义SeekBar中设置辅助进度时遇到困难

时间:2012-04-02 08:45:15

标签: android seekbar

我正致力于从网络上播放一首歌。我已经创建Customized Seek Bar,但我无法在我的应用程序中设置辅助进度条。我附上了我的代码。请让我知道我可能犯了什么错误。

这是我的custom_seek_bar.xml

<?xml version="1.0" encoding="UTF-8"?>

<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:id="@android:id/background">
    <shape>
        <corners
            android:radius="10dip" />
        <stroke
            android:width="4dip"
            android:color="#ff000000" />
        <gradient
            android:startColor="#ff734B35"
            android:centerColor="#ff8A6249"
            android:centerY="0.50"
            android:endColor="#ff91694F"
            android:angle="270" />
    </shape>
</item>
<item
    android:id="@android:id/secondaryProgress">
    <clip>
        <shape>
            <corners
                android:radius="10dip" />
            <stroke
            android:width="4dip"
            android:color="#ff000000" />
            <gradient
                android:startColor="#ff734B35"
                android:centerColor="#ff8A6249"
                android:endColor="#ff91694F"
                android:angle="270" />
        </shape>
    </clip>
</item>
<item
    android:id="@android:id/progress">
    <clip>
        <shape>
            <corners
                android:radius="10dip" />
            <stroke
            android:width="4dip"
            android:color="#ff000000" />
            <gradient
                android:startColor="#432011"
                android:endColor="#ff4A2514"
                android:angle="90" />
        </shape>
    </clip>
</item>

这是我的styles.xml

 <style name="CustomSeekBar" parent="android:Widget.SeekBar">
      <item name="android:progressDrawable">@drawable/custom_seek_bar</item>
       <item name="android:thumbOffset">0dip</item>
</style>

我在playing.xml声明了它:

 <SeekBar
            android:id="@+id/seekBar1"
            style="@style/CustomSeekBar"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="17dp"
            android:layout_marginRight="15dp"
            android:secondaryProgress="100"
            android:thumb="@drawable/point" />

这是我的java文件:

SeekBar songControl, songControl1;
songControl = (SeekBar) view.findViewById(R.id.seekBar1);
songControl.setEnabled(false);
txt_Timer = (TextView) view.findViewById(R.id.text_start_time);
txt_stop_timer = (TextView) view.findViewById(R.id.text_stop_time);
songControl.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

            Log.d("Progres changed", "" + progress);

            try {

                if (mediaPlayer.isPlaying()) {
                    int seconds = (int) (progress / 1000) % 60;
                    int minutes = (int) ((progress / (1000 * 60)));
                    txt_Timer.setText("" + minutes + ":" + seconds);
                    if (fromUser) {
                        mediaPlayer.seekTo(progress);
                        songControl.setProgress(progress);

                    }
                } else
                    songControl.setProgress(progress);

            } catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
            }

        }
    });
 @Override
public void onBufferingUpdate(MediaPlayer mp, int percent) {
    // TODO Auto-generated method stub
    Log.i("Main Activity", "Progress" + percent);

    songControl.setSecondaryProgress(percent);
    songControl.setBackgroundColor(Color.BLUE);
}

毕竟这样我没有错误,但在播放歌曲时我没有得到SeekBar中的辅助进度条。我怀疑问题可能在Custom_seek_bar.xml,但看不出我做错了什么。

1 个答案:

答案 0 :(得分:1)

xml中没有错误。您没有看到辅助进度条只是因为辅助进度的color与背景相同。因此,请更改背景或辅助进度颜色以获得所需内容!