android - 自定义SeekBar设置二级进度困难

标签 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 中,但看不出我做错了什么。

最佳答案

您的 xml 中没有错误。你没有看到二级进度条只是因为二级进度的 color 与背景相同。因此,更改您的背景或次要进度颜色以获得您想要的!

关于android - 自定义SeekBar设置二级进度困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9973308/

相关文章:

java - 在 Android 中将问题 mm 转换为像素

java - 在android中以编程方式相当于layout_constraintRight_toLeftOf的是什么?

java - android 中的 SimpleCursorAdapter

android - 制作一个自定义的瘦 ProgressBar/Seekbar

Android 多个垂直seekBar

android - 如何在 SeekBar 拇指中间添加 TextView?

android - 在 Android 中创建一个 SeekBar 位置弹出窗口

android - 单击seekBar 时seekBar 拇指会拉伸(stretch)

android facebook 集成获取电子邮件

java - java 中 Class<T[]> 的实例,以便在 json 解析器中使用