1
我正在從網絡上傳送歌曲。我製作了Customized Seek Bar
,但我無法在應用程序中設置輔助進度欄。我附上我的代碼。請讓我知道我可能犯了什麼錯誤。在定製SeekBar中設置二次進度時的困難
這是我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
,但不能看到我做錯了什麼。